Endi Binary Search algoritmini Python da yozamiz. Uchta asosiy o'zgaruvchi kerak: low, high, mid.
def binary_search(sonlar, izlangan):
low = 0 # qidiruv boshlanishi
high = len(sonlar) - 1 # qidiruv tugashi
while low <= high:
mid = (low + high) // 2 # o'rta indeks
if sonlar[mid] == izlangan:
return mid # topildi!
elif sonlar[mid] < izlangan:
low = mid + 1 # o'ng yarmi
else:
high = mid - 1 # chap yarmi
return -1 # topilmadiKeling, bu kodning qanday ishlashini qadam-baqadam ko'raylik:
Muhim nuqtalar:
low va high qidiruv chegaralarini belgilaydimid = (low + high) // 2 — o'rta indeksmid qaytariladilow > high bo'lganda — topilmadi, -1 qaytariladiBinary Search ni amalga oshirish
Dastur yozing:
1 3 5 7 9)low, high, mid o'zgaruvchilaridan foydalaning)Topildi chiqaring, topilmasa Topilmadi chiqaring