Python dilinde yazılmış ikili arama (binary search) kodu açıklamalı
# İkili arama fonksiyonunu tanımlıyoruz. Bu fonksiyon, sıralı bir listeyi ve aranan bir değeri parametre olarak alır.
def binary_search(liste, aranan):
# Arama işlemine başlangıç ve bitiş indekslerini belirleyerek başlıyoruz.
bas = 0
son = len(liste) - 1
# Başlangıç indeksi, bitiş indeksinden küçük veya eşit olduğu sürece arama işlemine devam ediyoruz.
while bas <= son:
# Ortanca indeksi bulmak için başlangıç ve bitiş indekslerinin ortalamasını alıyoruz.
orta = (bas + son) // 2
# Eğer ortanca indeksteki değer, aranan değere eşitse, aranan değerin indeksini döndürüyoruz.
if liste[orta] == aranan:
return orta
# Eğer ortanca indeksteki değer, aranan değerden küçükse, başlangıç indeksini ortanca indeksin bir fazlası olarak güncelliyoruz.
elif liste[orta] < aranan:
bas = orta + 1
# Eğer ortanca indeksteki değer, aranan değerden büyükse, bitiş indeksini ortanca indeksin bir eksiği olarak güncelliyoruz.
else:
son = orta - 1
# Eğer aranan değer liste içinde bulunamazsa, -1 döndürüyoruz.
return -1
# Fonksiyonu, [1, 2, 3, 4, 5, 6, 7, 8, 9] listesi üzerinde ve 5 değerini arayarak test ediyoruz.
print(binary_search([1, 2, 3, 4, 5, 6, 7, 8, 9], 5))
Yorumlar
Yorum Gönder