O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI
TELEKOMMUNIKATSIYA TEXNALOGIYALARI VA KASB TA’LIMI FAKULTETI
“Malumotlar tuzilmasi va algaritmi”
fanidan
2 - Mustaqil ishi
Bajardi: AKT 21-01-guruh talabasi: Elmurodov Iskandar
Fan o’qituvchisi: MIRSAIDOV B. M.
S a m a r q a n d _ 2022
Ishdan maqsad: Python dasturlash tilida qidiruvni, heshlashni o’rganish. Buble sort algoritmini o’qish, o’rganish, va dasturda tadqiq etishdan iborat.
Va uni dasturda qo’llashni o’rganish malakasini shakllantirishdan ham iborat.
Qisqacha nazariy ma’lumot
“Bubble sort” bu eng sodda, ketma-ketlikdagi har bir sonni boshqa sonlar bilan solishtirishga, asoslangan algoritm hisoblanadi. Unda solishtirish natijasida son noto`g`ri o`rinda turganligi aniqlansa, son o`rni almashtiriladi. Bu jarayon almashtirish kerak bo`lmay qolguncha davom etadi, ya`ni kerakli ketma-ketlikka kelguncha. Bu jarayonni to`liqroq tushunish uchun quyidagi rasmdan foydalanamiz:
Topshiriq
7
|
|
a) Binar qidiruv usuli orqali 1 dan n gacha bo’lgan sonlar ichidan ixtiyoriy elenementni topish dasturini tuzing?
b) O’zingizni F.I.SH. ni hesh qiymatini qaytaruvchi dastur tuzing?
c) Bubble sort algoritmi orqali Respublikamizdagi viloyatlar maydonini o’sish tartibida joylashtiring.
|
a)Dastur kodi:
def binary_search(arr, x):
low = 0
high = len(arr) - 1
mid = 0
k = 0
while low <= high:
mid = (high + low) // 2
# agar x katta bo'lsa o'rtadagi elementdan o'ng tomondagilardan qidiradi
if arr[mid] < x:
low = mid + 1
k += 1
# agar x kichik bo'lsa o'rtadagi elementdan chap tomondagilardan qidiradi
elif arr[mid] > x:
high = mid - 1
k += 1
else:
return mid, k
# agar qiymat ro'yhatda bo'lmasa -1 qaytaradi
return -1
a = int(input("qidirilishi kerak bo'lgan sonni kiriting: "))
thislist = list(range(10000))
result = binary_search(thislist, a)
print(result[0])
print(result[1], 'marta urinish')
b) Python hash() funktsiyasi o'rnatilgan funksiya bo'lib, agar ob'ekt bo'lsa, uning xesh qiymatini qaytaradi. Xesh qiymati butun son boʻlib, lugʻatni koʻrib chiqishda lugʻat kalitlarini tez solishtirish uchun ishlatiladi.
Python hash() usuli sintaksisi:
Sintaksis: hash(obj)
Parametrlar : obj : Xeshga aylantirishimiz kerak bo'lgan ob'ekt.
Qaytaradi: Iloji bo'lsa, xeshlangan qiymatni qaytaradi.
Do'stlaringiz bilan baham: |