Алгоритмы поиска


Download 438.04 Kb.
bet1/4
Sana07.05.2023
Hajmi438.04 Kb.
#1440386
  1   2   3   4
Bog'liq
8-ma`ruza

Qidirish algoritmlari. Binar qidiruv algoritmi

O`qituvchi: A.A.Avezov

AT va RT kafedrasi katta o`qituvchisi

Reja:

  • Massivlar va ro'yxatlarda qidirish
  • Chiziqli qidiruv
  • Ikkilik qidiruv
  • Qator osti qidiruvi
  • Oddiy qator osti qidiruvi
  • Rabin-Karp algoritmi
  • Boyer-Mur algoritmi
  • Knut-Moris-Prat algoritmi

Massivlar va ro'yxatlarda qidirish

  • Massiv (ro'yxat) elementlarining qiymatlari kalit va ixtiyoriy ma'lumotlar tuzilmasi KeyData { K kalitiga bo'linadi; Tma'lumotlar; };
  • Kalitni ma'lumotlar ma'lumotlarini (ixtiyoriy murakkablikdagi) tahlil qilish asosida kalit kalitni hisoblaydigan T -> K funktsiyasining qiymati deb hisoblash mumkin.
  • Massiv (ro‘yxat)dagi qidiruv algoritmi berilgan kalitga ega bo‘lgan massiv elementi indeksini (ro‘yxat elementining manzili) topadi.

Chiziqli ketma-ket qidiruv

  • Ketma-ket yacheyka ko'rinishi
  • Agar kerakli kalit topilsa yoki boshqa yacheykalar bo'lmasa, to'xtating
  • Eng yomon holatda taqqoslashlar soni O (hujayralar soni)
  • Qo'llash shartlari
  • Yoki kalitlar to'plamida chiziqli tartib yo'q
  • Yoki qidiruv vaqti dasturchi nuqtai nazaridan ahamiyatli emas (hujayralar soni aniq kichik, 1 marta qidirish va hk).
  • Ko'p sonli kataklarda bir nechta qidiruv - massivni saralash + ikkilik qidiruv yoki DDP

Ro`yxatda chiziqli qidiruv

place_t linear_search (list_t L, K key) { place_t p; for (p = begin(L); p != end(); p = next(p)) if (get_value(p).key == key) return p; return end(); // Element topilmadi! }

Tartiblangan massivda ikkilik qidiruv

  • Har bir qadamda biz massivni yarmiga bo'lamiz va keyingi bosqichda kerakli elementni o'z ichiga olishi kerak bo'lgan yarmida qidirishni davom ettiramiz.
  • Tartiblangan massivlar uchun amal qiladi
  • Taqqoslashning eng yomon holatlari soni O(log2(massiv hajmi))
  • Kalitlar to'plamida chiziqli tartibni talab qiladi
  • Katta massivlar uchun amal qiladi

Download 438.04 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




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