4-mustaqil ishi qarshi-2022


Download 17.06 Kb.
bet3/6
Sana21.11.2023
Hajmi17.06 Kb.
#1793092
1   2   3   4   5   6
Bog'liq
4mt

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 element 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,bu 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
int search(int arr[], int N, int key)
{
int L=0, R=N-1, mid=(L+R)/2;
while (L<=R)
{
if (arr[mid] == key) return mid;
if (arr[mid] < key) L=mid+1;
else R = mid-1;
mid=(L+R)/2;
}
return -1;
}
// dasturda funktsiyadan
// foydalanish misoli
int main ()
{
int A[5] = {10,20,30,40,50};
cout << search (A,5,25);
return 0;
}

O’tish yoki o’tqazishlar orqali qidiruv (Jump search)

Izoh: algoritmdan faqatgina maʼlumotlar jadvali tartiblangan boʼlsagina foydalanish mumkin.

ALGORITM G’OYASI:

Belgilangan bosqichlarda sakrash, ya'ni elementlarning ba'zi bloklarini o'tkazib yuborish orqali (chiziqli qidiruvdan ko'ra) kamroq elementlarni tekshirishdir. Bloklarni o’tqazish uchun qadami ildiz osti N ga teng: M=sqrt(N), bu erda N – ma’lumotlarning umumiy soni.(sakrashlar natijasida oraliqni topsak, bu oraliqda chiziqli qidiruv amalga oshiriladi !)


Key = 78

Download 17.06 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling