aniqlash uchun, balki topilgan kalit qiymatiga bogʻliq
ma’lumotlarni olish uchun xizmat qiladi. Masalan, kalit qiymat
xodimning raqami yoki tartib raqami yoxud boshqa istalgan
yagona identifikator boʻlishi mumkin. Kerakli kalit topilgandan
soʻng, dastur unga bogʻlangan ma’lumotlarni oʻzgartirishi mumkin
yoki butun yozuvni chiqarishi mumkin. Oxir oqibatda qidirish
algoritmi oldida muhim vazifa kalitning oʻrnini topish masalasi
turadi. Shuning uchun qidirish algoritmlari kerakli kalitni saqlovchi
yozuv indeksini beradi.
Agar kalit qiymat topilmasa
, u holda
qidirish algoritmi massiv yuqori chegarasidan chiquvchi indeks
qiymatini beradi. Maqsadimiz uchun faraz qilamizki, roʻyxat
elementlari 1 dan N gacha raqamlangan. Bu agar maqsad
elementi topilmasa 0 ni berishga imkon beradi. Oddiylik uchun
kalit qiymat takrorlanmaydi deb faraz qilamiz.
Ketma-ket qidirish
algoritmi
• Qidirish algoritmlarida qandaydir maqsad elementini
roʻyxatdan qidirish jarayoni qiziqtiradi. Ketma-ket
qidirishda biz doim roʻyxat saralanmagan deb faraz
qilamiz, ammo ayrim qidirish algoritmlari saralangan
roʻyxatlarda yaxshi unumdorlik koʻrsatadi.
• Ketma-ket qidirish algoritmi roʻyxat
elementlarni birinchisidan boshlab to
maqsad elementi topilgunga qadar
birma bir koʻrib chiqadi.
Ravshanki
,
aniq kalit qiymati qanchalik uzoqda
joylashgan boʻlsa, shunchalik uni
qidirishga koʻp vaqt sarflanadi. Buni
ketma-ket qidirish algoritmi tahlilida
hisobga olish kerak.
• Ketma-ket qidirish algoritmining umumiy koʻrinishi quyidagicha:
SequentialSearch(list,target,N)
list ko’riladigan ro’yxat
target maqsad qiymati
N ro’yxat
elementlari soni
for i=1 to N do
if (target=list[i])
return i
end if
end for
return 0
Do'stlaringiz bilan baham: |