Malumotlar tuzilmasi va algoritmlar fanidan mustaqil ishi


Download 0.61 Mb.
Pdf ko'rish
Sana14.12.2022
Hajmi0.61 Mb.
#1005983
Bog'liq
Mustaqil ish 2 Malumotlar tuzilmasi va algoritm b



O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIMI 
VAZIRLIGI 
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT 
TEXNOLOGIYALARI UNIVERSITETI FARG‘ONA FILIALI 
KOMPYUTER INJINIRINGI FAKULTETI 
AXBOROT XAVFSIZLIGI YONALISHI 2-KURS “641-21” GURUH 
TALABASI 
Kuchkarov Baxromjonning 
MALUMOTLAR TUZILMASI VA ALGORITMLAR FANIDAN 
MUSTAQIL ISHI 
 
 
Farg’ona 2022 


Mavzu: Xeshlashtirish. Xesh funksiyalar. Xesh jadvallar. 
REJA 
1. 
Kirish 
2. 
Heshlashtirish 
3. 
Hesh funksiyalar 
"Xesh" so'zi ingliz tilidagi «hash» so’zidan olingan bo’lib, uning ma'nosi 
“shovqin” yoki “aralash” kabi ta'riflanadi. Aslida, bular atamaning haqiqiy ma'nosini 
to'liq ifodalaydi. 
Odatda “xeshlash” – bu jarayon bo’lib, ingliz tilida - chopish, aralashtirish 
kabi ma’nolarni anglatadi. 
Xeshlash - bu ma’lumotlarning kirishdagi massivini determenistik algoritm 
bo’yicha chekli uzunlikdagi chiqish satriga aylantirishdir. Boshqacha aytganda, 
xeshlash - bu shunday jarayonki, uning kirishidagi massiv maxsus algoritm asosida 
chiqishda bitlar ketma-ketligiga almashtiriladi. Bunday almashtirish xesh- funksiya 
yoki o’rash funksiyasi deyiladi. Almashtirish natijasi esa xesh yoki xesh- kod yoki 
xabarlar qisqa izohi (o’rami) deb ataladi. Ikki massiv yoki satrning xesh- kodlari har 
xil bo’lishidan bu massivlar bir xil emas degan xulosa qilish mumkin. Xesh-kodlari 
bir xil bo’lishi esa massivlar bir xil bo’lishi muminligini ( ehtimoli borligini) 
bildiradi. 
Tasavvur qiling sizda katta ma’lumotlar tuzilmasi bor. Va ular tartiblangan yoki 
tartiblanmagan. Siz bu ikki xil holda ham ma’lumotlarni saralashingiz(qidirishingiz) 
kerak. Va bunda agar ma’lumotlar saralangan bo’lsa Binary search metodini 
qo’llashingiz maqsadga muvofiq. Ammo Binary search uchun O(log
2
N). Yani siz 
ro’yxatdan sizga kerakli ma’lumotni topishingiz uchun log
2
N amal bajarasiz. 
Hashlash - bu katta hajmdagi ma'lumotlar elementini xeshlash funktsiyasi 
yordamida kichikroq jadvalga solish jarayoni. Hashlash orqali O(1)ga erishishimiz 
mumkin. Bu bir qator kalit qiymatlarni massiv indekslari diapazoniga aylantirish 
texnikasi. U chiziqli yoki ikkilik qidiruv bilan solishtirganda keyingi darajadagi 
qidiruv usulini osonlashtirish uchun ishlatiladi. Xeshlash har qanday ma'lumotni 
doimiy vaqt ichida yangilash va olish imkonini beradi O(1). Doimiy vaqt O(1) 
operatsiya ma'lumotlar hajmiga bog'liq emasligini bildiradi. Elementlarni tezroq 
olish imkonini berish uchun ma'lumotlar bazasi bilan xeshlash qo'llaniladi. 
Hash funktsiyasi - ruxsat etilgan jarayon kalitni xesh-kalitga aylantiradi, bu Xesh 
funktsiyasi deb nomlanadi. Bu funktsiya kalitni oladi va uni Xesh qiymati yoki Xesh 


deb ataladigan ma'lum uzunlikdagi qiymatga moslashtiradi. Xesh qiymati asl 
belgilar qatorini ifodalaydi, lekin u odatda asl nusxadan kichikroq. 
Hash jadvali - Xesh jadvali yoki xesh xaritasi kalit-qiymat juftlarini saqlash 
uchun ishlatiladigan ma'lumotlar strukturasidir. Bu keyinchalik ularni topishni 
osonlashtirish uchun saqlangan narsalar to'plamidir. U indeksni kerakli qiymatni 
topish mumkin bo'lgan busket lar yoki slot lar qatoriga hisoblash uchun xesh 
funktsiyasidan foydalanadi. Bu har bir ro’yxat busket sifatida tanilgan ro'yxatlar 
qatoridir. U kalitga asoslangan qiymatni o'z ichiga oladi. Xesh jadvali xarita 
interfeysini amalga oshirish uchun ishlatiladi va Lug'at sinfini kengaytiradi. Xesh 
jadvali sinxronlashtiriladi va faqat noyob elementlarni o'z ichiga oladi. 
Yaxshi xesh funktsiyasi quyidagi xususiyatlarga ega bo'lishi kerak: 
1. 
Samarali hisoblash mumkin. 
2. 
Kalitlarni bir xilda taqsimlash kerak (har bir jadval pozitsiyasi har bir kalit 
uchun bir xil bo'lishi mumkin) 
Masalan: Telefon raqamlari uchun yomon xesh funksiyasi birinchi uchta raqamni 
olishdir. Eng yaxshi funksiya oxirgi uchta raqam hisoblanadi. E'tibor bering, bu eng 
yaxshi xesh funksiyasi bo'lmasligi mumkin. Yaxshiroq usullar bo'lishi mumkin. 
Hash funksiyaning yaxshi ishlayotganini ikki holatga qarab belgilaymiz: 
1. 
Bir kalitga har doim bir qiymat qaytarganda 
2. 
Xar hil kalitga har doim xar hil qiymat qaytarganda 
Amalda, biz tez-tez yaxshi bajaradigan hash funktsiyasini yaratish uchun 
evristik usullardan foydalanishimiz mumkin. Kalitlarni taqsimlash haqidagi sifatli 
ma'lumotlar ushbu dizayn jarayonida foydali bo'lishi mumkin. Umuman olganda, 
xesh funktsiyasi kalitning har bir bitiga bog'liq bo'lishi kerak, shuning uchun ikkita 
kalit faqat bitta bit yoki bitta bit guruhida farqlanadi (guruh kalitning boshida, 
oxirida yoki o'rtasida bo'lishidan qat'i nazar). kalit bo'ylab mavjud) turli qiymatlarga 
xesh. Shunday qilib, kalitning bir qismini oddiygina ajratib oladigan xesh funktsiyasi 
mos kelmaydi. Xuddi shunday, agar ikkita kalit oddiy raqamlangan bo'lsa yoki bir- 
birining belgilar almashinuvi ular ham turli qiymatlarga xeshlanishi kerak. 
Ma’lumot izlash algoritmini tezlashtirish uchun xesh-jadval tashkil qilinadi. 
Xesh-jadval - bu ma’lumotlar strukturasi bo’lib, unda “kalit - xesh-kod” juftliklari 
saqlanib, element izlash, yangi element kiritish va o’chirib tashlash amallari 
bajarilishi mumkin. Xesh-jadval ma’lumot izlash jarayonini tezlashtirishga xizmat 
qiladi. Ma’lumotlar bazasiga matnli maydonlar yozishda, dastlab, xesh – kod 
hisoblanadi va, keyin, ma’lumotlar bazasining ushbu xesh-kodga mos keluvchi 


bo’limiga matn joylashtiriladi. “Bo’lim kodi - xesh-kod” juftlik xesh-jadvaliga yozib 
qo’yiladi. Ma’lumotlar bazasida izlashni bajarish uchun, dastlab, izlanayotgan matn 
xesh-kodi hisoblanadi, xesh-jadvaldan unga mos bo’lim kodi aniqlanadi, keyin,
ushbu bo’lim ichida izlash amalga oshiriladi. Shunday qilib, izlash butun 
ma’lumotlar bazasida emas, balki uning faqat bir bo’limida bajariladi. Natijada 
izlashga sarflanadigan vaqt kamayadi. Lug’atda so’zlarni alfavit tartibida 
joylashtirish bunga misol bo’la oladi. So’zning birinchi harfi uning xesh–kodi bo’lib 
xizmat qiladi. So’zni lug’atdan izlashda biz lug’atni to’liq boshdan oxirigacha ko’rib 
chiqmasdan, faqat birinchi harfga mos keluvchi bo’limdan izlaymiz. 
Xulosa 
 
Xesh nima uchun, qanday va qayerda qollanilishi haqida oqidim, o’rgandim 
va o’zlashtiirdim. Xeshlashning asosiy maqsadi xar qanday uzinlikdagi 
malumotlarni birxil uzinlikdagi qiymatga o’giradi va uning yaxlitligini taminlaydi. 
Xesh jadvallar asosan ma’lumotlar bazasida saqlanadigan ma’lumotlar uchun 
qidiruvni tezlashtirish uchun qollaniladi. 

Download 0.61 Mb.

Do'stlaringiz bilan baham:




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