İkili Arama Algoritması: Verimli Aramanın Sırrı
Programlamada veriye hızlıca ulaşmak çok önemlidir. Özellikle büyük veri kümelerinde arama yaparken doğru algoritmayı seçmek hem performans…
İkili Arama Algoritması: Verimli Aramanın Sırrı
Programlamada veriye hızlıca ulaşmak çok önemlidir. Özellikle büyük veri kümelerinde arama yaparken doğru algoritmayı seçmek hem performans hem de verimlilik açısından belirleyicidir. Bu noktada devreye giren algoritmalardan biri de ikili arama algoritmasıdır.
İkili Arama Nedir?
İkili arama (binary search), sıralı bir dizi (veya liste) üzerinde çalışan, aranan değeri mümkün olan en az sayıda karşılaştırmayla bulan bir algoritmadır.
Örneğin, 1000 elemanlı sıralı bir dizide, en kötü senaryoda bile aradığınız değeri maksimum 10 adımda bulabilirsiniz. Bu inanılmaz bir hız kazancı demektir.
Neden Sıralı Olmalı?
İkili arama algoritması yalnızca sıralı diziler üzerinde çalışır. Dizi sıralı değilse, önce sıralama işlemi yapılmalıdır. Çünkü algoritma, orta elemanla yapılan karşılaştırmalar sonucunda hangi yarıya bakılacağını belirler. Bu mantık ancak elemanlar belli bir düzende sıralandığında çalışır.
Algoritmanın Adımları
İkili arama algoritmasının temel mantığı şudur:
- Başlangıç ve bitiş indekslerini belirle.
- Ortadaki elemanı bul: [(başlangıç+bitiş)/2]
- Aranan değer orta elemanla karşılaştırılır:
- Eşitse: Arama biter, eleman bulundu.
- Aranılan değer büyükse: Sağ yarıya (orta+1 ile son) geç.
- Aranılan değer küçükse: Sol yarıya (baş ile orta−1) geç.
-
Yeni alt-dizi üzerinde aynı işlem tekrarlanır.
-
Başlangıç indeksi, bitiş indeksini geçerse arama sonlandırılır (eleman bulunamadı).
Kod ile Gösterim (Python)
def ikili_arama(dizi, hedef):
bas = 0
son = len(dizi) - 1
while bas <= son:
orta = (bas + son) // 2
if dizi[orta] == hedef:
return orta # Bulundu
elif dizi[orta] < hedef:
bas = orta + 1
else:
son = orta - 1
return -1 # Bulunamadı
Ne Zaman Kullanılır?
- Verinin önceden sıralanmış olduğu durumlarda
- Arama işleminin çok sık tekrarlandığı durumlarda
- Alternatif olarak doğrusal arama (linear search) çok yavaş kalıyorsa
Avantajları
Hızlı ve verimli Az bellek tüketimi Kolay uygulanabilir
Dezavantajları
Sıralı olmayan verilerde işe yaramaz Dinamik olarak sürekli değişen dizilerde kullanımı zordur
Sonuç
İkili arama algoritması, bilgisayar bilimlerinde temel taşlardan biridir. Sıralı veri üzerinde arama yapmak gerektiğinde ilk tercih edilmesi gereken yöntemlerden biridir. Hem basit yapısı hem de yüksek verimliliği sayesinde pek çok uygulamada kullanılır.
메타데이터
- post_id
- cce00a41f535
- slug
- i̇kili-arama-algoritması-verimli-aramanın-sırrı-cce00a41f535
- url
- https://medium.com/@berfinozay.349/i%CC%87kili-arama-algoritmas%C4%B1-verimli-araman%C4%B1n-s%C4%B1rr%C4%B1-cce00a41f535
- canonical_url
- https://medium.com/@berfinozay.349/i%CC%87kili-arama-algoritmas%C4%B1-verimli-araman%C4%B1n-s%C4%B1rr%C4%B1-cce00a41f535
- author_url
- https://medium.com/@berfinozay.349
- status
- ok
- fetched_at
- 2026-07-20 01:09:42