|
Chiziqli yoki ketma-ket qidiruv (Linear search)
|
bet | 3/4 | Sana | 10.01.2024 | Hajmi | 7,99 Kb. | | #133694 |
Bog'liq Ma’lumotlarni qidirish usullari, algoritmlari va ularning samara-fayllar.orgChiziqli yoki ketma-ket qidiruv (Linear search) Izoh: algoritmdan ixtiyoriy tartibda joylashgan maʼlumotlar jadvalida foydalanish mumkin. 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. Binar yoki oraliqni teng ikkiga bo’lish orqali qidiruv (Binary search) Binar yoki oraliqni teng ikkiga bo’lish orqali qidiruv (Binary search)
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. N – ma’lumotlarning umumiy soni.
|
| |