Saturday , October 19 2019
Home / Algoritmalar / Arama Algoritmaları / Binary Search Algorithm (İkili Arama)

Binary Search Algorithm (İkili Arama)

Binary search, sıralı olan veriler üzerinden arama yapan bir algoritmadır.

Eğer veriler bir dizi üzerinde sıralı ise veya veriler ikili arama ağacı üzerinde tutuluyorsa ikili arama yapılabilir.

Bu teknikteki her bir adımda, aranan değerin, dizinin orta değerine eşit olup olmadığı kontrol edilir. Eşit olmaması durumunda aranan değerin orta değer tarafından ikiye ayrılan kısımlardan hangisinde olduğu kontrol edilir, aranan değeri içeren kısım bir sonraki adımda arama yapılacak dizi olur ve bu sayede arama yapılan listedeki eleman sayısı her adımda yarıya indirilmiş olur.

Bu algoritma ile N elemanlı bir dizide en fazla \lceil\log_2 N\rceil karşılaştırma yaparak aranan değerin yerini bulmak mümkündür.

Kayıt sayısı fazla olan veri kümelerinde arama yapmak için idealdir.

Yukarıdaki algoritma incelendiğinde önce dizinin orta noktası bulunmuştur. Eğer aradığımız anahtar orta noktadan küçükse ilk ortanın ortası alınmış fakat anahtar değerimiz 2. ortada kalmış ise 2. orta kısım referans alınmıştır. Bu şekilde çok daha kısa sürede aradığımız değere ulaşabiliryoruz.

Aradığımız değer dizini içerisinde yok ise return değerimiz -1 oluyor.

About Burak

One comment

  1. sade ve açık anlatımınla gayet güzel ve bilgilendirici olmuş.. c++ da yazılarını takipte olacağım 😀 başarılarının devamını dilerim.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Download Free Premium Joomla Templates • FREE High-quality Joomla! Designs BIGtheme.net