Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/23: Рейтинг темы: голосов - 23, средняя оценка - 4.87
Flamе
9 / 9 / 1
Регистрация: 25.10.2009
Сообщений: 152
1

Фибоначчиев поиск

23.05.2010, 23:11. Просмотров 4796. Ответов 2
Метки нет (Все метки)

Если кто-нибудь знает алгоритм фибоначчиева поиска на с++, ну или на другом языке, очень прошу привести его здесь. заранее огромное спасибо!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2010, 23:11
Ответы с готовыми решениями:

Фибоначчиев поиск
Помогите пожалуйста реализовать, смог сделать только генератор фибоначчиевых чисел

Фибоначчиев поиск
Объясните, пожалуйста, алгоритм поиска в массиве методом Фибоначчи.

Фибоначчиев поиск в массиве случайных чисел
Добрый вечер! Столкнулся с заданием по поиску ключей в массиве, и там был указан фибоначчиев поиск....

Фибоначчиев поиск наименьшего индекса заданного элемента (Pascal -> C++)
При выполнении лаб. работы возникли сложности, решила поискать в интернете пример кода, нашла...

Поиск по сайту: не могу разобраться, как делать поиск по нескольким полям
поиск по одному полу осуществляется вот так: SELECT * from tablepart WHERE `marka` LIKE '%" ....

2
AnyOne697
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
Завершенные тесты: 1
24.05.2010, 18:33 2
Это???
0
Spickard
7 / 7 / 0
Регистрация: 07.04.2011
Сообщений: 25
07.04.2011, 00:49 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Фибоначчиев поиск наименьшего индекса заданного элемента одномерного "случайного" строго упорядоченного по величине числового массива (рекурсивный вариант).
 
 
int N = 10000000; // Количество элементов в массиве
zap A[10000000]; // Массив, отсортированный по возрастанию
int SKey; // Искомый элемент
int Search; // Индекс найденного элемента. 0, если элемент не найден
int Mid; // Индекс внутреннего элемента
int j,i;
int F1,F2,t;
int Finish;
 
int SFib (int N)
{
   int F1,F2;
   if ((N == 0) || (N == 1))
      return (N);
      else
        if (N >= 2)
    {
        F1 = SFib (N-1);
        F2 = SFib (N-2);
        return (F1+F2);
    }
   return -1;
}
 
 
void main ()
{
        Generation ();  //Генерирую упорядоченный массив
 
        SKey = StrToInt (Edit1->Text);
        j=1;
    while (SFib(j)<(N+1))
          { j=j+1; }
    Mid = N-SFib(j-2)+1;
    F1=SFib(j-2);
    F2=SFib(j-3);
    Finish = 0;
        for (;;)
         {
           if (Finish == 1)
             break;
           if (Mid > 0)
             if (SKey == A[Mid].age)
               break;
           if ((Mid<=0) || (SKey>A[Mid].age))
             {
               if (F1==1)
                  {
                    Finish = 1;
                  }
               else
              {
                    Mid=Mid+F2;
                    F1=F1-F2;
                    F2=F2-F1;
              }
             }
       else
             {
               if (F2==0)
                 {
                   Finish=1;
                 }
               else
         {
           Mid=Mid-F2;
                   t=F1-F2;
                   F1=F2;
                   F2=t;
         }
             }
         }
    if (Finish) Search=0; else Search=Mid;
        if ((!Search) || (Search == N)) ShowMessage ("Не найден");
        else ShowMessage (IntToStr(Search));
}
У меня работает прекрасно. Переписано с алгоритма на Паскале.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2011, 00:49

QRegExp поиск всех строк которые соответствуют шаблону и поиск их длины
//поиск строк типа ] QRegExp reg(&quot;\\\\]&quot;); QString text = &quot;test ] bla ]&quot;; int pos =...

Поиск максимальных компонент в виде подрограмм, поиск значения функции
Очень нужна помощь, срочно. Хотя бы просто помогите с алгоритмом, код написать мб сам справлюсь....

Поиск символа в строке. Как осуществить поиск в обратном направлении
Всем доброго времени суток. Вопрос такой: как осуществить поиск в обратном направлении, т.е. я в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru