演算法導論 歸併排序

2021-05-24 11:01:00 字數 962 閱讀 2475

public class mergesort ;

/** mergesort(data,0,中間);

* mergesort(data,中間,最後);

* merge(data,0,最後);

* */

system.out.println("*********************排序前****************");

for(int i=0;i9 && i%10==0)system.out.println();

}system.out.println();

mergesort(data,0,data.length/2);

mergesort(data,data.length/2+1,data.length-1);

merge(data,0,data.length/2,data.length-1);

system.out.println("*********************排序後****************");

for(int i=0;i9 && i%10==0)system.out.println();

}/*int data1=;

for(int c=0;cpublic static void mergesort(int data, int i, int j)

temp1[m-i+1]=10000;

//  for(int count=0;count//  system.out.println();

for(int count=0;counttemp2[j-m]=10000;

//  for(int count=0;count//  system.out.println();

int index1=0,index2=0;

for(int count=0;countelse

}for(int count=0;count

演算法導論 歸併排序

演算法的設計有很多思想,之前的插入排序使用的是增量的方法,即在排好的子陣列a中,將元素a j 插入,形成新的子陣列a。這次將實現另一種排序 歸併排序,歸併排序採用了 分治法 divide and conquer 本篇中包含 分治法,也可以稱為分治策略 是將乙個大規模的問題 原問題 劃分成n個規模較小...

演算法導論 歸併排序

歸併排序的步驟分為三個 將問題分解為更小的問題,然後解決小問題,將小問題合併為大問題的解。針對歸併排序的主要思想是 將乙個需要排序的陣列一分為二,然後將這兩部分進行單獨排序,然後將這兩個排好序的子數組合然後按照順序合併為大陣列。還有乙個就是邊界問題,將陣列無限的分下去知道最後的子陣列只剩乙個元素的時...

演算法導論 歸併排序

歸併排序是建立在歸併操作上的一種有效的排序演算法。該演算法是採用分治法 divide and conquer 的乙個非常典型的應用。歸併操作 merge 指的是將兩個已經排序的序列合併成乙個序列的操作。對兩個排序陣列合併成乙個有序陣列,這個很簡單 public int merge int a,int...