CodeBlanks Logo Icon CodeBlanks

Özet - İkili arama

İkili arama uygulayıp sonucu yazdıran mini görev yaparsın.

Özet - İkili arama

Bu grupta ikili aramanın mantığını, sol-sağ göstericileri, taban durumu ve recursive versiyonu öğrendin. Karmaşıklık O(log n)'dir.

İkili arama, sıralı dizilerde en hızlı arama yöntemidir. Her adımda arama alanı yarıya iner.

Uygulama İkili arama (basit)

binary_simple(arr, target) yaz. While ile ara. print(binary_simple([10, 20, 30, 40, 50], 30)) ile 2 yazdır.

Başlangıç kodu

solution.py
def binary_simple(arr, target):
    # Basit ikili ara

Örnek çözüm

solution.py
def binary_simple(arr, target):
    # Basit ikili ara
    lo = 0
    hi = len(arr) - 1
    while lo <= hi:
        m = (lo + hi) // 2
        if arr[m] == target:
            return m
        if arr[m] < target:
            lo = m + 1
        else:
            hi = m - 1
    return -1
print(binary_simple([10, 20, 30, 40, 50], 30))

Beklenen çıktı

2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Özet - İkili arama: kavramları eşleştir

Kavram Anlamı
İkili arama Sıralı dizi
O(log n) Hız
mid Orta
left <= right Döngü

2 İkili arama

Soru
İkili arama her adımda arama alanını ____ böler.
Cevap
İkili arama her adımda arama alanını ikiye böler.

Açıklama: ikiye doğru.

3 İkili arama neden hızlıdır?

  • Her elemanı gezer
  • Diziyi sıralar
  • Arama alanını yarıya böler Doğru cevap
  • Hash kullanır

Açıklama: Arama alanını yarıya böler.

Başlangıç bölümündeki tüm dersler