Kafedra Kompyuter injineringi Ma`lumotlar tuzilmasi va algoritmi fanidan Amaliy ish Mavzu




Download 398,71 Kb.
Sana17.01.2024
Hajmi398,71 Kb.
#139341
Bog'liq
amaliy ish 6 Soxib


Muhammad al-Xorazmiy nomidagi
Toshkent Axborot Texnalogiyalari universiteti Samarqand filiali
Kompyuter injineringi fakulteti


Kafedra Kompyuter injineringi
Ma`lumotlar tuzilmasi va algoritmi fanidan
Amaliy ish
Mavzu: Ma’lumotlar tuzilmasi va algoritmlar fanidan ko‘nikmaga ega bo‘lish.

Bajardi: DI-022-03-guruh talabasi


Amonov Soxib

Tekshirdi: Eldor Umarov


Samarqand-2023

"Heshlashning metod svyortkasi" yoki "reduce" algoritmi, bir nechta qiymatlarni birlashtirish uchun ishlatiladi. Bu metodga "reduce" ham deyiladi. Bu algoritm, bir birlashtirilgan funksiya (reduce function) yordamida ro'yxatni yoki boshqa ma'lumotlar to'plamini birlashtiradi va u bir qiymatga o'giradi.


Python tilidagi `functools.reduce` funksiyasi bu algoritmda amalga oshirilgan algoritmi ifodalaydi. Quyidagi, o'zingizning F.I.SH. ni hesh qiymatini topuvchi dastur misoli:




```python
from functools import reduce


def hash_fold(surname, name, patronymic):
# Birlashtirilgan hesh funksiyasi (xor operatorini ishlatamiz)
combine_hashes = lambda x, y: x ^ y


# Har bir F.I.SH. qiymatini heshlash
surname_hash = hash(surname)
name_hash = hash(name)
patronymic_hash = hash(patronymic)


# Birlashtirilgan hesh qiymatini topish
result_hash = reduce(combine_hashes, [surname_hash, name_hash, patronymic_hash])


return result_hash


# Test
surname = "Smith"
name = "John"
patronymic = "Doe"


# F.I.SH. hesh qiymatini olish
hash_value = hash_fold(surname, name, patronymic)


print(f"Hesh qiymati: {hash_value}")
```

Bu dasturda `functools.reduce` funksiyasi orqali F.I.SH. ning har bir qiymatini heshlayib, `xor` (bitlarni almashtirish) operatori orqali birlashtiradi. Natijada, F.I.SH. ning hesh qiymati chiqadi.



Download 398,71 Kb.




Download 398,71 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Kafedra Kompyuter injineringi Ma`lumotlar tuzilmasi va algoritmi fanidan Amaliy ish Mavzu

Download 398,71 Kb.