2-ma’ruza. Ma’lumotlarni qidirish, xeshlash algoritmlari va ularning samaradorligi. Reja


Ziddiyatni hal qilish algoritmlari


Download 198.07 Kb.
bet6/9
Sana05.01.2023
Hajmi198.07 Kb.
#1080469
1   2   3   4   5   6   7   8   9
Bog'liq
2.1-maruza

Ziddiyatni hal qilish algoritmlari. Kolliziya ro‘y berishini butunlay oldini oladigan, yaxshi hesh-funksiyani qurish mumkinmi?

5-chizma. Hesh jadval tuzilishi
Aniqki, butunlay kolliziyaga uchramasligi uchun hesh-funksiyaning har bir natijaviy qiymati unikal bo‘lishi kerak.
Kolliziya muammosini yechish uchun turli usullarni qo‘llash mumkin. Ulardan biri “reheshlash” metodi hisoblanadi.
Bu metodga ko‘ra, A element uchun hesh-funksiya orqali hisoblangan h(A) adresi band bo‘lgan yacheykani ko‘rsatsa, unda n1=h1(A) funksiya qiymatini hisoblash zarur va n1 adresga tegishli yacheykani bandligini tekshirish kerak.
Hi(A) funksiyani hisoblashni eng oddiy metodi, uni hi(A)=(h(A)+pi)modNm asosida qurishdir, bu yerda pi qandaydir bir hisoblangan butun son, Nm -identifikatorlar jadvalidagi elementlarning maksimal soni. O‘z o‘rnida eng oddiy usul pi ni o‘rniga i ni qo‘yish bo‘ladi. Unda quyidagi formulani olamiz hi(A)=(h(A)+i)modNm. Bu holda hesh- funksiyaning bir xil qiymatlariga mos kelgan identifikatorlarni joylash uchun bo‘sh yacheykani qidirish mantiqan hesh-funksiya h(A) ko‘rsatgan joydan boshlanadi.
6. Ketma-ket qidiruvni samaradorligi
Ixtiyoriy qidiruvning samaradorligi jadvaldagi ma’lumotlarning kalitlari bilan solishtirish soni - S bilan baxolanishi mumkin. Agar taqqoslashlar (solishtirish) soni qancha kichik bo‘lsa, qidiruv algoritmi samaradorligi shuncha yaxshi bo‘ladi.
Massivda ketma-ket qidiruvning samaradorligi quyidagicha bo‘ladi:
C = 1 rn, C = (n + 1)/2.
Umuman olganda ro‘yxatda xam samaradorlik yuqoridagi kabi bo‘ladi. Garchi massivda xam bog‘langan ro‘yxatda xam qidiruv samaradorligi bir xil bo‘lsada, ma’lumotlarni massiv va ro‘yxat ko‘rinishda tasvirlashning o‘ziga xos kamchilik va afzalliklari mavjud. Qidiruvning maqsadi - quyidagi jarayonlarni bajarilishidan iborat:

  • Topilgan yozuvni o‘qish;

  • Qidirilayotgan yozuv topilmasa, uni jadvalga qo‘yish;

  • Topilgan yozuvni o‘chirish.

Birinchi jarayon (qidiruvning o‘zi) massiv uchun ham ro‘yxat uchun ham bir xil bo‘ladi. Ikkinchi va uchinchi jarayonda esa qidiruv ro‘yxatli tuzilmada samaraliqroq bo‘ladi (sababi massivda elementlarn siljitish lozim).

Download 198.07 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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