2-ma’ruza. Qidiruv va xeshlash algoritmlar. Qidiruv algoritmlar: chiziqli algoritm, tartiblangan navbatlar, binary qidiruv


Download 0.61 Mb.
Pdf ko'rish
bet2/4
Sana16.06.2023
Hajmi0.61 Mb.
#1493586
1   2   3   4
Bog'liq
6-ma’ruza. Qidiruv algoritmlari

Bizga massiv berilgan bo’sin: 
• a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
• Ushbu masalani yechishda eng birinchi 
xayolga keladigan usul - bu massivni 
ketma-ket har bir elementini solishtirib 
chiqish va bu usul: 
• Chiziqli qidiruv - Linear Search deb 
ataladi, va bu usul kodi quyidagi 
ko'rinishda: 
Ko'rib
turganingizdek,
funksiyamiz
2
ta
parametr qabul qiladi, birinchisi massivni o'zi,
ikkinchisi esa biz qidirayotgan element. Agar
uni topa olmasak, "-1" qiymatni qaytaramiz.


Masalan: chiziqli qidiruvga oid misol


2-misol: chiziqli qidiruv


Ikkilik qidiruv
• left va right index lari markazidagi elementni 
topamiz (left + right) / 2
• topilgan elementimiz biz qidirayotgan elementga 
teng bo'lsa unda mid elementni javob sifatida 
qaytaramiz
• agar a[mid] elementimiz biz qidirayotgan 
elementdan kichkina bo'lsa biz left = mid deb 
belgilaymiz va shunda a[mid:right] bo'lagida 
qidiruv davom etadi.
• agar a[mid] elementimiz biz qidirayotgan 
elementdan katta bo'lsa demak right = mid deb 
belgilaymiz shunda qidiruv a[left:mid] bo'lagida 
qidiruv davom etadi.
chiziqli qidiruvda elementlarni bittalab har birini tekshiriladi, binarda esa algoritmidan kelib chiqib chiziqliga 
nisbatan ancha kam solishtirish amali bajariladi, chiziqli qidiruvning ishlash vaqti ko'pi bilan O(n) va binar 
qidiruvniki ko'pi bilan O(log n)


Ikkilik (Binar) qidiruv



Jump (sakrab) qidirish algoritmi
• Ikkilik qidiruv singari, Jump Search ham saralangan massivlarni 
qidirish algoritmidir. 
• Asosiy g'oya shundan iboratki, kamroq elementlarni tekshirish 
(chiziqli qidiruvdan ko'ra) sakrash qadamlar bilan tekshirish yoki 
barcha elementlarni qidirish o'rniga ba'zi elementlarni o'tkazib 
yuborish.
Faqat tartiblangan massivlarda ishlaydi.
Sakrab o'tiladigan blokning optimal hajmi (√ n). 
• Algorimning samaradorligi O (√ n)
• Jump Search samaradorligi Liner Search 
((O (n)) va Binary Search (O (Log n)) o'rtasida.

Download 0.61 Mb.

Do'stlaringiz bilan baham:
1   2   3   4




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