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

2. Dereceden 1 Bilinmeyenli Denklemin Köklerini Buldurma - MATLAB

2. dereceden bir bilinmeyenli denklemin köklerini buldurmak için denklemin bilinmeyen katsayılarına ve sabit sayısına ihtiyacımız var. Kök buldurma denklemi aşagıdaki gibidir. Yapacagımız işlemleri daha iyi anlamanız için akış diyagramı aşagıda ki fotoğrafta görülmektedir Akış diyagramından yola çıkarak matlab kodlarıını adım adım yazalım. a=input(‘a= ’); %x^2nin katsayısını kullanıcıdan girmesini istiyoruz b=input(‘a= ’); %x in katsayısını kullanıcıdan girmesini istiyoruz c=input(‘a= ’); %c nin yani sabit sayının kullanıcıdan girmesini istiyoruz disp (‘ ’); %ekrana birazcık boşluk bırakıyoruz d=b * b - 4 * a * c; if (d > 0 ) disp (‘Gerçek İki Kök Vardır’); %ekrana kök bulunduğunu yazıyoruz x1=( - b - sqrt (d)) / ( 2 * a); %birinci kökü buluyoruz x2=( - b + sqrt (d)) / ( 2 * a); %ikinci kökü buluyoruz [yz,ht]=sprintf(‘ 1. Kök: %0.5f’,x1); disp(yz); %birinci kökü ekrana formatlı olarak yazdırıyoruz [yz,ht]=spri...