Ana içeriğe atla

Selection Sort Algorithm - Seçme Sıralama Algoritması


Sıralama algoritmalarından olan seçme ile sıralama algoritması üzerine görsel ve kodlar...




clear all
clc

%biribirinden farklı 1'den 1000'e kadar 
%sayı dizisi oluşturma algortiması
sutun = 1001;
durum=1;
i=1;
while durum==1
    sayi(i)=round(2+(sutun-2)*rand());
    if i~=1
        s=i;
        while s~=1
            while sayi(s-1)==sayi(i)
                sayi(i)=round(2+(sutun-2)*rand());
                s=i;
            end
            s=s-1;
        end
    end
    if length(sayi)==sutun-1
        durum=0;
    end
    i=i+1;
end

%random sayılardan aynısının bulunup
%bulunmadıgını kontrol eder

for i=1:length(sayi)-1
    for j=i+1:length(sayi)
        if sayi(i)==sayi(j)
            'aynı sayı var, algoritma hatalı'
        end
    end
end
        
sayi=sayi-1;

y=1:length(sayi);

dizi = sayi;
%selection sort algorithm
tic()
for i=1:length(dizi)
    kucuk = dizi(i);
   for j=i:length(dizi)
       if kucuk>=dizi(j)
           sira = j;
           kucuk=dizi(j);
       end
   end
   dizi(sira)=dizi(i);
   dizi(i)=kucuk;
   pause(0.00001)
   bar(y,dizi);
end

toc()

Yorumlar

Bu blogdaki popüler yayınlar

Matlab Operatörler

Matematiksel operatörler: +  Toplama –  Çıkarma *  Çarpma /  Bölme ^  Üst alma .* Elemanter çarpım ./  Elemanter bölme .^  Elemanter üst alma a+b  Boyutları aynı olan a ve b matrisini toplar. a-b  Boyutları aynı olan a ve b matrislerinin farkını alır. a*b  Sütun sayısı m olan a matrisiyle satır sayısı m olan b matrisini çarpar. a/b  b düzenli kare bir matrisse (determinantı sıfırdan farklıysa), aynı boyutlu a matrisiyle; a*inv(b)işlemini yapar. a.*b  Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı olarak çarpar. a./b  Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı oranlar. sqrt  Kök alma abs  Mutlak değer rats  Kesirli gösterim Mantıksal operatörler: &  Ve |  Veya ~  Değil /  Bölme Karar operatörleri: >  Büyüktür <  Küçüktür >=  Büyük eşittir <=  Küçük eşittir ==  Eşittir ~= ...

Matlab Asal Sayı Buldurma

Klavyeden girilen bir tamsayının, asal sayı olup olmadıgını veren algoritma kodları: Asal sayı tanımı; "1 ve kendisinden başka tamsayıya, tam bölünemeyen tamsayılara; asal sayı" denir. Girilen tamsayının asal olup olmadıgının tespiti için; tanımdan hareketle 1'den tamsayıya kadar döngü açılır ve kaç kere tam bölündügü hesaplanır. Eğer 2 kere tam bölünmüşse girilen sayı asal sayıdır.  Matlab kodları: a=input( 'Tamsayı giriniz: ' );   %kullanıcıdan tam sayı girilmesi isteniyor disp( '   ' );                                 %bir miktar boşluk bırakılıyor s=0;                                         %s degişkeni sayının kaç defa tam bölündügünü tutması için                                     ...