Bu matlab programında ikili arama yapmayı göreceksiniz.
Matlab ikili arama yapan program kodu;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | m =[10,20,30,40,50,60,15,25]; %input("Köşeli parantez ile listeyi girin)"); q = 30; %input("Aranacak değeri girin"); m=sort(m); y = []; i = 1; j = length(m); while i<=j k = round((i+j)/2); diff=m(k)-q; if(diff==0) y = k; break; elseif(diff>0) j = k-1; else i = k+1; end end if (isempty(y)==true) disp("Aranan değer dizide bulunamadı"); else fprintf("Aradığınız değerin konumu %d\n",y); end |
İkili arama algoritmasında arama yapmadan önce dizideki değerlerin sıralanması gerekir. Bu işlem için sort() fonksiyonu kullanılmıştır. Arından diziyi ikiye ayırarak arama gerçekleştirilir.
Çıktı:
1 2 3 | Aradığınız değerin sırası 5 |
Unutmayın arama işlemi yapılmadan önce sort() ile sıralanma yapıldı.
Yorum Yap