Mustaqil ish mavzu: Xesh jadval va xesh funksiyalari


Download 97.53 Kb.
bet2/5
Sana09.06.2023
Hajmi97.53 Kb.
#1468322
1   2   3   4   5
Bog'liq
Norbekova Farida

Xesh-jadval - bu assotsiativ massiv interfeysini amalga oshiradigan ma’lumotlar tuzilmasi, ya'ni har bir elementi juftliklar (kalit, qiymat)ni saqlovchi tuzilma bo’lib, unda uchta operatsiyani bajarish imkoni mavjud: yangi juftlikni qo'shish, qidirish va kalit yordamida juftlikni o’chrish.

Turli xil tarkibga ega  bo’lib, xesh –kodlari bir xil bo’lgan massivlar to’plami kolliziya deyiladi .  Kolliziyalar  yuzaga kelish ehtimoli tanlangan xesh-funksiyaning sifatini baholashda muhim ro’l o’ynaydi.  Bu ehtimol  miqdori qanchalik kichik bo’lsa, tanlangan xesh-funksiya  shunchalik yaxshi bo’ladi.
Xesh-funksiya xossalari
Xeshlash algoritmlarining xossalari turlicha bo’lishi mumkin: masalan, razryadlilik, hisoblash murakkabligi, kriptomustahkamlik va hokozo. Boshqacha aytganda, ba’zi xesh-algoritmlarning asosiy xususyati unda ishlatilayotgan razryadlar soni bilan, ba’zilariniki hisoblashning murakkablik darajasi bilan bog’liq bo’ladi. Xesh-funksiya tanlashda yechilayotgan masalaning o’ziga xos xususiyatlari hisobga olinadi.
“Yaxshi” xesh-funksiya ikki xossaga ega bo’lishi kerak:
1) yuqori hisoblash tezligi;
2) kam miqdordagi “kolliziyalar”.
Quyidagi belgilashlarni olamiz:
– “kalitlar” (kiritiladigan ma’lumotlar) soni;
h(k) - M dan katta bo’lmagan sondagi turli xil qiymatlarga ega bo’lgan xesh-funksiya, ya’ni ixtiyoriy k ϵ (0;K):h(k) 
“Yomon” xesh-funksiyaga misol keltiramiz: M=1000 bo’lib, o’n raqamli K natural songa uning kvadratiga teng yigirma raqamli son yozuvining o’rtasidan olingan uchta raqamdan iborat ketma-ketlikni mos qo’yuvchi funksiya. Bir qarashda bu funksiya uchun xesh-kodlar “000” va “999” lar o’rtasida tekis taqsimlanadi deb o’ylash mumkin. Lekin, agar berilgan son yozuvida chapda yoki o’ngdagi nollar soni juda katta bo’lgan hollar uchun tekis taqsimot buziladi.
Xesh-funksiya turlari
1)Bo’lish amaliga asoslangan xesh-funksiyalar
a) Mumkin bo’lgan barcha “xesh”lar soniga bo’lishda hosil bo’ladigan qoldiqni “xesh-kod” sifatida olish.
Kirishdagi ma’lumot qiymati M soniga bo’linib, hosil bo’gan qoldiq “xesh-funksiya” qiymati (“xesh”) deb olinadi, ya’ni h(k)=k mod M, bu yerda M-barcha mumkin bo’lgan “xesh”lar soni. Bu holda ko’rinib turibdiki, M juft bo’lib, k ham juft bo’lsa, xesh-funksiya qiymati juft bo’ladi. M juft bo’lib, k toq bo’lsa, funksiya qiymati toq bo’ladi. Kompyuter sanoq tizimining asosini M soni sifatida olish tavsiya qilinmaydi, chunki bunda xesh-kod k soni yozuvi o’ng tomonida joylashgan bir necha raqamlardangina bog’liq bo’lib qoladi va natijada kolliziyalar soni juda katta bo’ladi. Amaliyotda, odatda, M sifatida oddiy natural son olinadi va bu ko’p hollarda batamom qoniqarli tanlov hisoblanadi.
b) Xesh-kod sifatida xosil bo’ladigan ko’phad koeffitsientlari to’plamini olish.
Xesh-funksiyada kiritilgan ma’lumotlarni moduli 2 bo’lgan ko’phadga bo’lish amali bajariladi. Bu usulda M soni 2 ning biron darajasiga teng bo’lishi kerak. Kalitlar (K=kn-1kn-2…k0) ko’phad shakliga keltiriladi. Bu holda xesh-kod sifatida K ni ilgaridan tanlab olingan m-darajali P ko’phadga bo’lishda qoldiq sifatida hosil bo’lgan ko’phadning koeffitsientlarining qiymatlari olinadi:
K(x) mod P(x)=hm-1xm-1+…+h1x+h0
h(x)=hm-1hm-2…h1h0.
Bu usul P(x) ko’phad to’g’ri tanlanganda deyarli bir xil kalitlar o’rtasida kolliziyalar bo’lmasligini ta’minlaydi.

Download 97.53 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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