Birleştirmeli Sıralama Merge Sort

  Şimdi Sıra geldi Merge Sort’a…

220px-merge_sort_animation2

İngilizce Adı Merge Sort
Ortalama O(n log n)
En kötü O(n log n)
Bellek O(n)
Kararlı mı? Evet
Yöntem Karşılaştırma ile Birleştirme

Her zamanki gibi videomuz ile başlıyalım…

Şimdi Nedir bu merge sort… Öncelikle direk grafik üzerinden anlatıcam Bir diziyi sürekli iki parçaya böldüğünüzü düşünün.. Ve bu dizide Tüm elemanlar 2 parçaya ayrıldıktan sonra sıralama yaparak birleştirin..

Grafik olarak..

merg

Animasyon olarak…

merge-sort-example-300px

 

Ve En son kod olarak ….

public class mergeSort{
  public static void main(String a[]){
  int i;
  int array[] {12,9,4,99,120,1,3,10};
  System.out.println(“nn RoseIndiann”);
  System.out.println(” Selection Sortnn”);
  System.out.println(“Values Before the sort:n”);
  for(i = 0; i < array.length; i++)
  System.out.printarray[i]+”  “);
  System.out.println();
  mergeSort_srt(array,0, array.length-1);
  System.out.print(“Values after the sort:n”);
  for(i = 0; i <array.length; i++)
  System.out.print(array[i]+”  “);
  System.out.println();
  System.out.println(“PAUSE”);
  }

  public static void mergeSort_srt(int array[],int lo, int n){
  int low = lo;
  int high = n;
  if (low >= high) {
  return;
  }

  int middle = (low + high2;
  mergeSort_srt(array, low, middle);
  mergeSort_srt(array, middle + 1, high);
  int end_low = middle;
  int start_high = middle + 1;
  while ((lo <= end_low&& (start_high <= high)) {
  if (array[low< array[start_high]) {
  low++;
  else {
  int Temp = array[start_high];
  for (int k = start_high- 1; k >= low; k–) {
  array[k+1= array[k];
  }
  array[low= Temp;
  low++;
  end_low++;
  start_high++;
  }
  }
  }  
}

Post Author: umiitkose

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">