Ana içeriğe atla

Matlab Merge Sort

Matlab Merge Sort

Matlab Merge Sort

Algoritmanın Çalışma Şekli

Merge Sort, bir dizi içerisindeki elemanları ikiye böler, her iki parçayı ayrı ayrı sıralar, sonra bu iki sıralı parçayı birleştirerek sonuç dizisini elde eder. Bu işlem alt dizilere kadar tekrar eder.

Kod

        % Merge Sort algoritması ile 20 adet random oluşturulan sayıları sıralama
        
        % Merge Sort işlemi
        function sorted_array = mergeSort(input_array)
            n = length(input_array);
            if n <= 1
                sorted_array = input_array;
                return;
            end
            
            middle = fix(n / 2);
            left = mergeSort(input_array(1:middle));
            right = mergeSort(input_array(middle+1:n));
            sorted_array = merge(left, right);
        end
        
        % Merge işlemi
        function merged_array = merge(left, right)
            merged_array = [];
            while ~isempty(left) && ~isempty(right)
                if left(1) <= right(1)
                    merged_array = [merged_array, left(1)];
                    left(1) = [];
                else
                    merged_array = [merged_array, right(1)];
                    right(1) = [];
                end
            end
            merged_array = [merged_array, left, right];
        end
        
        % 20 adet random sayı oluşturma
        input_array = randi([1, 100], 1, 20);
        
        % Oluşturulan sayıları ekrana yazdırma
        disp('Oluşturulan Sayılar:');
        disp(input_array);
        
        % Merge Sort ile sayıları sıralama
        sorted_array = mergeSort(input_array);
        
        % Sıralanmış sayıları ekrana yazdırma
        disp('Sıralanmış Sayılar:');
        disp(sorted_array);
    

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                                     ...