Binary Search Nedir

Binary search,bilgisayar bilimlerinde aynı zaman da half-interval search ve logaritmic search olarak da adlandırılan sıralı dizilerde arama işlemi için kullanılan bir algoritmadır.

Kısaca algoritmanın akışını anlatmak gerekirse,sıralı olan diziyi 2 ye bölerek,aranan değerle dizinin ortasındaki elemanla karşılaştırarak karar verir.
Aşağıdaki resimdeki gibi sıralı olarak 1,3,7,11,15,20,21,22,23,24 değerlerine sahip dizimiz olduğunu varsayalım,aradığımız eleman ise 3 olsun.İlk önce dizinin ortasındaki elemana bakarak karar verecektir.

binaryseachsample

Dizideki eleman sayımız 10 ve karar vermek için dizimizin ortasındaki index imiz 5 tekabül edecektir.Bu durumda formülümüz aşağıdaki  gibidir diyebiliriz.

var index=dizimizin_eleman_sayısı/2
Şimdi geldik,karşılaştırma durumumuza,büyük müsün küçük müsün,soğuk musun sıcak mısın,hatta kutunda ne hissediyorsun diye soracağımız soruya,vereceği cevaba göre illerleyeceğiz. Ara-dığımız eleman 3 olduğunu söylemiştik,bu durumda karşılaştırma olarak kullandığımız 15 değerinden küçük olduğu için bundan sonraki işlemlerimize dizimizin 2 ye böldüğümüz index in sol tarafından devam edeceğiz.Aşağıda gördüğümüz gibi dizimizin yeni hali aşağıdaki gibi olacaktır.
Bir üstteki işlemleri tekrar ederek,ilk önce yeni dizimizin ortasındaki elamı bularak,aradığımız değer olan karşılaştırıyoruz.index olarak adlandırdığımız yeni dizimizin ortasındaki elamanımızın değeri 7 bu durumda,aradığımız değer 7 den küçük olduğu için tekrardan dizimizin sol tarafından devam ediyoruz.

binarysearchsample

Yine aynı işlemleri tekrar ettiğimiz de,aradığımız değeri bulmuş olacağız.

binarysearchlast

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.