Özet - İkili arama
- Algoritmalar kursu
- Başlangıç
- Ders 56/80
- 4 dk
İ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
def binary_simple(arr, target):
# Basit ikili araÖrnek çözüm
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
İkili arama her adımda arama alanını ____ böler.
İ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.