Doğan Kayadelen

MATLAB GUI İle İkili Arama Algoritması (Binary Search Algorithm)

Parçala ve fethet yaklaşımıyla yapılan binary search algorithm yani ikili arama algoritmasının MATLAB GUI ile yaptığım kısmını kodlarla beraber anlatıp paylaşacağım.

Binary search algorithm

İkili arama algoritmasının genel yapısını şu şekilde açıklayabiliriz. İlk olarak dizinin orta noktasını bulmak. Eğer daha önceden belirlediğimiz aranan değer orta noktada bulunduysa program bitecek. Aranan değer bakılan değerden küçükse arrayin küçük elemanlarından devam eder. Algoritmanın mantığını detaylı incelemek isterseniz Sadi Evren Şeker hocamızın yazısına göz atabilirsiniz.

İkili arama algoritması MATLAB

İkili arama algoritmasını sizlere bir MATLAB GUI arayüzü ile göstereceğiz. Random bir array üretip bunu bar grafiği şeklinde GUI ‘de görelim daha sonra aramak istediğimiz sayıyı açılacak kutuya girelim ve son olarak sayımızın kaçıncı indiste olduğunu görelim. binarySearchn.m adlı bir script oluşturuyoruz ve aşağıda matlab kodlarını satır satır takip ediyoruz.

Yukarıda ikili arama algoritması matlab kodu nu görebilirsiniz.

ikili arama algoritması matlab kodu
ikili arama algoritması matlab kodu
İkili arama algoritması (binary search matlab gui)
İkili arama algoritması (binary search matlab gui)

İkili arama algoritması matlab kodundan gördüğünüz üzere binary Search’ün 3 inputu 1 outputu mevcut şimdi MATLAB ‘ın komut satırına (command window) “guide” yazarak MATLAB guisine erişelim ve blank bir proje oluşturalım. Açılan guiye 4 edit text 1 tane push button bir tane de binary search ‘in çalışmasını görmemizi sağlayacak “axes” ekliyoruz.

GUI ‘yı yukarıda ki yeşil butondan çalıştıra tıklıyoruz ve binarySearchn.m dosyasıyla aynı klasöre yüklüyoruz. Yaptığımız GUI ‘nin matlab kodunu açıyoruz ve push buttonun olduğu fonksiyon satırına geliyoruz. Bundan sonraki işlemlerimiz Push button’a tıkladığımızda kutulardan verileri çekmek ve sonrasında binary Search fonksiyonunu çağırmak olacaktır.

Gördüğünüz gibi MATLAB GUI ‘nin pushbutton fonksiyonu altında gerekli işlemleri yaptık. Burada çok sık yapılan hatalardan bir tanesi de edit text içerisinden alınan değerinin okunmaması yönünde bunun nedeni de edit text girilen değerleri string almaktadır siz bunları integer’a yani bir sayıya çevirmelisiniz. Yukarıdaki binary search algorithm kodunda str ‘den int ‘e çevirme işlemini görebilirsiniz.

MATLAB GUI binary search algoritm visualization

Şimdi gui kodunu çalıştırıyoruz. Array uzunluğu, başlangıç, bitiş değerleri girildikten sonra butonumuza tıklıyoruz ve burada bir uyarı kutusu karşımıza geliyor. Bu uyarı kutucuğunda bu kutuyu kapattığınızdan 10 saniye sonra sıralanmış arrayi göreceksiniz ve aramak istediğiniz binary search sayınızı girmenizi söylüyor. Kutu kapanıyor ve sıralanmış bir dizi karşımıza geliyor.

binary search algoritm matlab GUI
binary search algoritm matlab GUI

Daha sonra bu dizide bulmak istediğiniz sayıyı belirleyip 4. oluşturduğumuz edit text içerisine giriyoruz. 5 10 saniye sonra sıralanmış dizimiz bar grafiği şeklinde aradığınız sayı kırmızı kutu içerisinde belirtilerek ve aradığınız sayının indisi kutu içerisinde gösteriliyor.

ikili sıralama algoritması matlab gui
ikili sıralama algoritması matlab gui

 

Leave a Comment