İkili Arama Algoritması Nedir?
İkili Arama Algoritması, sıralı bir veri yapısı içinde belirli bir değeri bulmak için kullanılan etkili bir arama yöntemidir. Bilgisayar biliminde sıkça kullanılan bu algoritma, arama alanını her adımda yarıya indirerek çalışır.
İkili Arama Algoritması, sıralı bir dizide bir elemanın konumunu bulmak için kullanılan, böl ve yönet stratejisine dayanan bir arama algoritmasıdır. Dizinin orta elemanıyla hedeflenen değer karşılaştırılır ve arama, hedefe göre dizinin sol veya sağ yarısında devam ettirilir.
Adım adım çözümlü örnekler
Sıralı [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] dizisinde 23 sayısını ikili arama ile bulunuz.
Dizinin orta elemanı: (2+9)/2 = 4.5 -> 4. indeks (16). 16 < 23.Sağ yarıya geçilir: [23, 38, 56, 72, 91]. Orta eleman: (5+9)/2 = 7. indeks (56). 56 > 23.Sol yarıya geçilir: [23, 38]. Orta eleman: (5+6)/2 = 5.5 -> 5. indeks (23). 23 == 23. Eleman bulundu.
Sıralı [10, 20, 30, 40, 50] dizisinde 25 sayısını ikili arama ile arayın.
Dizinin orta elemanı: (0+4)/2 = 2. indeks (30). 30 > 25.Sol yarıya geçilir: [10, 20]. Orta eleman: (0+1)/2 = 0. indeks (10). 10 < 25.Sağ yarıya geçilir: [20]. Orta eleman: 1. indeks (20). 20 < 25.Dizi bitti, eleman bulunamadı.
Bilgi kartları
Mini test
S1.İkili Arama algoritması, hangi koşul sağlanmadan verimli çalışmaz?
S2.Bir dizide 100 eleman varsa, ikili arama ile bir elemanı bulmak için en fazla kaç karşılaştırma gerekebilir?
S3.İkili Arama'da, aranılan eleman orta elemandan büyükse ne yapılır?
Sık yapılan hatalar
İkili arama, sıralı olmayan listelerde de çalışır. — Doğrusu: İkili arama, yalnızca sıralı listelerde verimli ve doğru çalışır.
Her adımda listenin sadece ilk yarısı aranır. — Doğrusu: Her adımda listenin ortasındaki eleman kontrol edilir ve arama listenin sol veya sağ yarısında devam eder.
Sıkça sorulan sorular
İkili Arama'nın (Binary Search) amacı nedir?
Sıralı bir veri yapısında belirli bir elemanın yerini hızlı bir şekilde bulmaktır.
İkili Arama'nın karmaşıklığı neden O(log n)'dir?
Çünkü her adımda arama alanı yarıya indirilir, bu da arama süresini logaritmik olarak azaltır.
İkili Arama'nın lineer arama ile farkı nedir?
Lineer arama her elemanı sırayla kontrol ederken (O(n)), ikili arama sıralı veride yarıya bölerek çok daha hızlıdır (O(log n)).