12-mavzu. Xeshlash va xesh jadvallar Reja


Ziddiyatni hal qilish algoritmlari


Download 26.89 Kb.
bet5/5
Sana22.12.2022
Hajmi26.89 Kb.
#1042617
1   2   3   4   5
Bog'liq
Hujjat

Ziddiyatni hal qilish algoritmlari


Agar berilgan kalitga mos jadval qatori kerakli (qidirilayotgan) elementga ega emasligi ma’lum bo’lsa, u holda ziddiyat (“konflikt”) yuzaga keldi deyiladi. Bunday holat, agarda bir necha element bitta indeksga akslantiriladigan kalitlarga ega bo’lsa yuzaga keladi. Bunday holatda mazkur berilgan kalit orqali to’liq aniqlanuvchi indeks bo’yicha ikkinchi urinish amalga oshiriladi (Muqobil indeks shakllantirish orqali). Ikkinchi indeksni shakllantirishning bir qancha usullari mavjud. Eng sodda yo’llaridan biri bu – birinchi H(k) indekslari bir hil bo’lgan barcha qatorni bir-biriga bog’lash, ya’ni bog’langan ro’yxat kabi. Bunday usulga to’g’ridan-to’g’ri bog’lash (direct chaining) deb ataladi. Hosil bo’lgan ro’yxat elementlari asosiy jadvalda joylashishi ham joylashmasligi ham mumkin.
Bunday holatda ro’yxat elementlari joylashgan xotira to’lalik (to’lib-toshish, perepolnenie) sohasi deyiladi. Ushbu usulni kamchiligi, ikkilamchi ro’yxatlarni kuzatib borish hamda ziddiyatga boruvchi elementlar ro’yxati har bir qatorida murojaat uchun joy ajratish lozim bo’ladi.
Ziddiyatni hal qilishning yana bir usulida esa berilgan jadvalni berilgan qatorida kerakli element mavjud bo’lmasa, toki kerakli element topilguncha yoki bo’sh qatorga borguncha boshqa qatorlarini ko’rib chiqiladi. Agar qarab chiqish bo’sh qatorgacha borib yetsa, u holda ko’rsatilgan kalit berilgan jadvalda yo’q deb hisoblanadi. Ziddiyatni bunday hal qilish usuliga ochiq adresli deb ataladi. Tabiiyki, ixtiyoriy berilgan kalit uchun indekslar ketma-ketligi ikkinchi urinishda bir hil bo’lishi lozim. Bunday holatda qarab (ko’rib) chiqish algoritmi quyidagi sxemada ishlaydi: h = H(k) i = 0 repeat if T(h) = k then element topildi else if T(h) = free
then element jadvalda yo’q
else {ziddiyat} i := i + 1 h := H(k) + G(i)
endif
endif until topildi, yoki jadvalda yo’q.
Download 26.89 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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