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
Yorum Gönder