ALGORITM G’OYASI: Ma’lumotlarning birinchi elementidan oxirgi ementiga qadar ketma-ket qarab chiqiladi va har qadamda element qidirilayotgan kalit bilan taqqoslanadi. Agar element kalitga mos bo’lsa jarayon to’xtatiladi. Agar oxirgi element ko’rib chiqilganda jarayon to’xtatilmagan bo’lsa u xolatda ma’lumot topilmaganligini anglatadi.
// Chiziqli qidiruv funktsiyasi
int search (int arr[], int N, int key)
{
for (int i = 0; i < N; i++)
if (arr[i] == key)
return i;
return -1;
}
// dasturda funktsiyadan
// foydalanish misoli
int main ()
{
int A[5] = {10,30,20,40,50};
cout << search (A,5,25);
return 0;
}
Bu yerda:
arr[] – ma’lumotlar to’plami
key – qidirilayotgan ma’lumot
Binar yoki oraliqni teng ikkiga bo’lish orqali qidiruv (Binary search) Izoh: algoritmdan faqatgina maʼlumotlar jadvali tartiblangan boʼlsagina foydalanish mumkin. ALGORITM G’OYASI: Berilgan massiv oʼrta elementi tanlanadi, va qidirilayotgan kalit bilan taqqoslanadi. Аgar tanlangan element qiymati qidirilayotgan kalit qiymatiga teng boʼlsa, u holda qidiruv yakunlanadi; agar tanlangan elementi qiymati qidirilayotgan kalit qiymatidan kichik boʼlsa, u holda chap tomonda elementlar kelgusi qidiruvdan chiqarib yuboriladi va algoritm qayta ishga tushadi. Xuddi shuningdek, agar tanlangan elementi qiymati qidirilayotgan kalit qiymatidan katta boʼlsa u holda o’ng tomonda elementlar kelgusi qidiruvdan chiqarib yuboriladi va algoritm qayta ishga tushadi. Agar ikkita chegara orasida elementlar qolmasa u xolatda ma’lumot topilmaganligini anglatadi va jarayon to’xtatiladi. Binar yoki oraliqni teng ikkiga bo’lish orqali qidiruv (Binary search) Binar yoki oraliqni teng ikkiga bo’lish orqali qidiruv (Binary search)
// Binar qidiruv funktsiyasi
Do'stlaringiz bilan baham: |