İkili Arama Nedir?
İngilizce: Binary Search
İkili arama, sıralı veri üzerinde aralıkları ikiye bölerek hedef değeri O(log n) sürede bulmaya çalışan algoritmadır.
İkili Arama Nedir?
İkili arama (binary search), yalnızca sıralı veri üzerinde çalışan verimli bir arama algoritmasıdır. Her adımda aranan değer orta elemanla karşılaştırılır; hedef daha küçükse sol yarı, daha büyükse sağ yarı aranmaya devam eder.
Nasıl Çalışır?
Algoritma başlangıç ve bitiş indekslerini tutar. Orta nokta hesaplanır, hedef değerle karşılaştırılır ve arama aralığı ikiye indirilir. Hedef bulunursa indeks döner; aralık boşalırsa değer yoktur. Her adım arama alanını yarıya düşürdüğü için zaman karmaşıklığı O(log n) olur.
Bu performansın ön koşulu verinin sıralı olmasıdır. Sırasız bir dizide önce sıralama maliyeti doğar; bu yüzden tek seferlik küçük aramalarda ikili arama her zaman en pratik seçenek olmayabilir.
İş Dünyasında Kullanımı
İkili arama, fiyat aralığı bulma, tarih bazlı kayıt arama, sıralı ID listeleri ve düşük seviyeli kütüphane fonksiyonlarında kullanılır. Veritabanı indeksleri birebir ikili arama değildir, ancak sıralı ağaç yapılarıyla benzer “arama alanını daraltma” fikrini kullanır. Hash tablosu ise eşitlik aramalarında ortalama O(1) erişim sağlayabilir, fakat sıralı aralık sorgularında aynı avantajı sunmaz.
Uygulamada en sık hata, dizinin sıralı olduğundan emin olmadan ikili arama kullanmaktır.