|
İkili Arama Algoritması
Aug 10,2008 00:00
by
RubeNiS
Bu algoritma sıralnmış veriler üzerinde istenilen elmanı bulma yöntemidir. Bu algoritmaya göre arama işlemi dizinin ortasındaki elman ile aranılan elemanın karşılaştırlması şeklinde yapılır. Bu karşılaştırma işleminde 3 durum sözkonusudur. Birinci durum : Aranılan eleman dizinin ortasındaki elemandan büyüktür. O zaman dizinin ortasını başlangıç noktası seçerek dizinin tekrar ortasındaki elemanı bulmaya devam ederiz. İkinci durum : Aranılan eleman dizinin ortasındaki elemandan küçüktür. O zaman dizinin ortasını bitiş noktası seçerek dizinin tekrar ortasındaki elemanı bulmaya devam ederiz. Üçüncü durum : Aranılan elaman dizideki elemana eşittir. O zaman istenilen eleman bulunmuştur. Aramayı keseriz. Algoritmayı şu şekilde verebiliriz ; ikili_arama(aranan) { bas=1 son=dizinin_boyutu Do while bas<=son orta=(bas+son)/2 If aranan=dizi(orta) Then 'işlem başarılı return orta Elseif aranan %lt dizi(orta) son=orta Else bas=orta Endif Loop return 0 ' eger fonksiyondan 0 döner ise eleman bulunamamıştır. } Şimdi bu algoritmayı Visual basic'de gerçekleştirelim. Bir önceki algoritmada anlattığımız programı geliştirerek devam edelim. Form üzerine bir buton daha yerleştiriniz. Butonun başlığını arama olarak değiştiriniz. Bu butonun click event'ine aşağıdaki kodu giriniz.
|