Samarqand davlat universiteti o. R. Yusupov, I. Q. Ximmatov, E. Sh. Eshonqulov




Download 4,61 Mb.
Pdf ko'rish
bet89/111
Sana18.05.2024
Hajmi4,61 Mb.
#241929
1   ...   85   86   87   88   89   90   91   92   ...   111
Bog'liq
ALGORITMLAR VA MA‟LUMOTLAR STRUKTURALARI

Polinomial xeshlash. 
Quyida
 
oddiy, ammo samarali xeshlash 
algoritmini ko'rib chiqamiz. Xesh funksiyamizni quyidagicha aniqlaylik:
 

(1) 
yoki
𝑑
(2) 
bu yerda 
𝑡
uzunlik prefiksi i, 
-baza, asos. 
𝑑
simvol kodi.
Agar (1) formulani kengaytirsak, biz N tartibli polinomni olamiz. 
(2) formula xeshni rekursiv shaklda o'rnatadi va kod yozishda 
foydalaniladi. 
Belgilar kodiga va asosga e'tibor qaratish lozim, chunki bazani 
tanlash kodlarga bogʻliq bo'ladi. Kod ASCII jadvalidagi belgilar kodi 
yoki alfavitdagi tartib raqam bo'lishi mumkin. Masalan, agar muammo 
har qanday satr ingliz alifbosining faqat kichik harflaridan iborat 
bo'lishiga kafolat beradigan bo'lsa, unda tartib raqami belgilar kodlari 
uchun yaxshi imkoniyatdir. Simvollar satrdagi mumkin bo'lgan har 


162 
qanday belgining maksimal kodidan oshib ketishi kerak va odatda asosiy 
son tanlanadi (garchi raqamning soddaligi uchun qat'iy talablarga javob 
bermagan bo'lsa ham). Masalan, 31, 37 va boshqalar asoslari inglizcha 
kichik harflarning satrlari uchun javob beradi. 
Shunga qaramay, shuni ta'kidlash joizki, biz xeshni hech qanday 
cheklamaymiz, bu xeshlash ta'rifiga ziddir. Bunday holda, ikkita chiqish 
usuli mavjud: modul boʻyicha boʻlish amalidan yoki uzun arifmetikadan 
foydalanish. 
Birinchi variant uzun arifmetikaga ega bo'lmagan tillarda keng 
qo'llaniladi. Bundan tashqari, xesh saqlanadigan butun sonli ma'lumotlar 
turi bu bo'linishni avtomatik ravishda amalga oshiradi (turlarning 
ko'payishi natijasida qo'shimcha bitlar avtomatik ravishda yo'qoladi). 
Natijada biz cheklangan xeshlar to'plamini olamiz, ammo yana kolliziya 
xavfi mavjud. Bundan tashqari, ko'p polinomli xeshni "buzish" ehtimoli 
mavjud. 
Ikkinchi variantda kolliziya ehtimoli pastroq. Biroq, kattaroq 
xeshlar to'plamini qo'llab-quvvatlash, qo'shimcha xotira va ikkita xeshni 
taqqoslash uchun zarur bo'lgan vaqtni talab qiladi, bu oddiy 
ma'lumotlarni taqqoslashdan ko'ra tezroq. 
Masalan, satrni inglizcha kichik harflardan iborat deb taxmin 
qilamiz. Quyida 37 raqamini asos qilib olamiz. 

Download 4,61 Mb.
1   ...   85   86   87   88   89   90   91   92   ...   111




Download 4,61 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Samarqand davlat universiteti o. R. Yusupov, I. Q. Ximmatov, E. Sh. Eshonqulov

Download 4,61 Mb.
Pdf ko'rish