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