II ГЛАВА ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 АЛГОРИТМ ПОИСКА ПО РАВЕНСТВУ (ДВОИЧНЫЙ ПОИСК)
Будучи равным поиск (двоичный поиск) алгоритм предположим, что o"задан массив чисел, отсортированных по порядку sish. Основная тень G этого метода заключается в том, что случайным образом берется какой-то элемент Am, и он сравнивается с аргументом поиска X. Если Am = X, то поиск будет завершен; если Am X, то все элементы с индексами больше M будут исключены из будущего поиска. Предлагаемый алгоритм корректно работает даже при произвольном выборе M. По этой причине M следует выбирать таким образом, чтобы исследуемый алгоритм
давайте выберем его таким образом, чтобы было как можно меньше элементов, участвующих в будущих процессах". Если мы выберем элемент o"RTA", либо массив o"RTA решение быть идеальным. Например
метод двоичного поиска из массива, состоящего из целых чисел, отсортированных по o"sish
с помощью ключ мы видим программу для поиска элемента, соответствующего ключу.
Программный код
#include
using namespace std;
int main(){
int n;cout<<"n=";cin>>n;
int k[n];
for(int i=0;i>k[i];
int key, search;
cout<<"qidirilayotgan elementni kiriting=";cin>>key;
int low = 0;
int hi = n-1; int j=0;
while (low <= hi){
int mid = (low + hi) / 2;j++;
if (key == k[mid]){
search = mid;
cout<<"qidirilayotgan element "<
"<
system("pause");
exit(0);
}
if (key < k[mid])
hi = mid - 1;
else low = mid + 1;
}
search=-1;
cout<
topilmadi\n";
system("pause");
}
Do'stlaringiz bilan baham: |