Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali




Download 334 Kb.
bet2/4
Sana10.01.2024
Hajmi334 Kb.
#134346
1   2   3   4
Bog'liq
2-amaliy ish topshiriq

natija :
Ro'yxatning eng kichik elementi: 3

Xeshlash
Deyarli ideal xususiyatlarga ega hash daraxtlari tasvirlangan. Ushbu xash daraxtlari boshlang'ichni talab qilmaydi ildiz xesh jadvali hali ham tezroq va zanjirli yoki juft xeshli daraxtlarga qaraganda ancha kam joy ishlatadi. Qo'shish, qidirish va o'chirish vaqtlari kichik va doimiy, kalitlar to'plamining hajmiga bog'liq emas, operatsiyalar O (1). Qo'shish, qidirish va olib tashlash operatsiyalari uchun eng kichik eng yomon vaqtlar kafolatlanishi mumkin va o'tkazib yuborilganlar muvaffaqiyatli qidiruvlarga qaraganda kamroq xarajat qiladi. Massiv xaritalangan urinishlar (AMT), birinchi marta Tez va Space Efficient Trie Searches, Bagwell [2000], asosiy ma'lumotlar strukturasini tashkil qiladi. Kontseptsiya shunday keyin yagona erishadigan algoritmni olish uchun tashqi disk yoki taqsimlangan xotiraga qo'llaniladi kirish qidiruvlari, yagona kirish qo'shimchalariga yaqin va 80 foizdan ortiq disk blokirovkasini yuklash omillari. Linear Hashing, Litwin, Neimat va Schneider [1993] va B-Trees bilan amalga oshiriladi, R.Bayer va E.M.Makkreyt [1972]. Bundan tashqari, AMTlarning yana ikkita qo'llanilishi qisqacha tasvirlangan, ya'ni, Class / Selektor jo'natish jadvallari va IP Marshrutlash jadvallari. Algoritmlarning har biri zamonaviy ilovalar bilan solishtirish mumkin bo'lgan ishlash va makondan foydalanishga ega, ammo oddiyroq. Yaxshi xesh funksiyasini yaratish uchun siz kalitlarning taqsimlanishini bilishingiz kerak. Agar kalit taqsimoti ma'lum bo'lsa, ideal holatda kalit zichligi va xesh qiymatining zichligi taqsimoti bir xil bo'lishi kerak.


def folding_hash(input_str, chunk_size=4):
# Matnning uzunligi
length = len(input_str)

# Kiritilgan chunk_size bo'yicha bo'linib, yig'indisi olinadi


total_sum = 0
for i in range(0, length, chunk_size):
chunk = input_str[i:i + chunk_size]
total_sum += sum(ord(char) for char in chunk)

# Natijani qaytarish


return total_sum

# Toshimova Gulshoda ni hesh qiymatini hisoblash


name = "Toshimova Gulshoda"
hash_value = folding_hash(name)

# Hesh qiymatini chiqarish


print(f"'{name}' ning xesh qiymati: {hash_value}")

Download 334 Kb.
1   2   3   4




Download 334 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali

Download 334 Kb.