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

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

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

Если кто-нибудь знает алгоритм фибоначчиева поиска на с++, ну или на другом языке, очень прошу привести его здесь. заранее огромное спасибо!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2010, 23:11
Ответы с готовыми решениями:

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

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

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

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

3
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
24.05.2010, 18:33 2
Это???
0
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
0 / 0 / 0
Регистрация: 16.04.2020
Сообщений: 6
21.04.2020, 16:30 4
Я смотрю прошло очень много времени, а проблема у людей все осталась. Мне тоже надо сделать программу с поиском Фибоначчи и по бору да сравнить их. На Win Forms ,а не консоли да на С#... Если кто то да что то знает.. напишите пожалуйста. Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2020, 16:30

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

Поиск символа не могу переделать под поиск сочетания символов
Есть код программы на поиск и замену по одному символу.Не могу понять, как сделать код на поиск...


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

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

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