13 Ocak 2017 Cuma

Java – Binary Search Algorithm – İkili Arama Algoritması


Java – Binary Search Algorithm – İkili Arama Algoritması


BinarySearch sıralı olmayan dizilerde arama yaparken arama süresini dramatik bir şekilde düşüren bir algoritma ,yani dizinin başından başlayarak aradığımız elemanı aradığımız elamanın indisine kadar dönmek yerine çok daha efektif ve hızlı çalışıyor.
Teorik olarak değilde basitçe nasıl çalıştığını anlatalım. BinarySearch çocukken sayı tahmin etme oyununda farkında olmadan içgüdüsel kullandığımız algoritma . Bu oyunu oynamayanlar yada hatırlamayanlar için hatırlatalım.Örneğin arkadaşınız aklından 1-100 arasında sayı tutuyor ve sen sayı tahmin ettiğin zaman olası üç ihtimalden ,seçtiğin sayıdan yukarıda,aşağıda yada doğru bildiğini söyleyecek.
Sayıyı en az tahminle bulabilmeniz için 50 den başlamalıyız çünkü arkadaşımız tutuğu sayının aşağıda ve yukarıda olmasına göre her iki durumda tahmin edebileceğimiz sayı miktarını yarıya indirmiş olacağız örneğin daha yukarıda olduğunu söyledi sayının 51-100 arasında olduğunu anlamış olacağız.İkinci tahminimiz 75 olmalı ve şekilde sayıyı bulana kadar devam etmeli.
Yani gördüğünüz gibi BinarySearch algoritması ile sıralanmamış dizilerde çok daha kısa sürede ve daha az hamle ile aradığımız sayıyı buluyoruz.
Şimdi Java dilinde nasıl ifade edebiliriz ona bakalım.



Hiç yorum yok:

Yorum Gönder

Lütfen yorumlarınızı iletiniz...