簡單排序Java實現(二) 歸併排序,快速排序

2021-08-07 16:37:10 字數 711 閱讀 8881

1,二路歸併排序的時間複雜度是o(logn)。

2.快速排序:最壞時間複雜度為o(n2),最好複雜度是:o(nlogn),平均時間複雜度為o(nlogn),在所有的平均時間複雜度是o(nlonn)的演算法中,快速排序的平均效能是最好的。

public class sorttest ;

system.out.println("***************=歸併排序*************************==");

int len =a.length;

mergesort(a,0,len-1);

for (int j = 0; j < a.length; j++)

system.out.println();

system.out.println("***************=快速排序*************************==");

quicksort(a);

for (int j = 0; j < a.length; j++)

} //快速排序

private static void quicksort(int a)

private static void sort(int a, int low, int high)

i=low;

j=high;

index=a[i];

while(i=index)

if(i

歸併排序 Java實現

歸併排序 mergesort 1 思想 多次將兩個或兩個以上的有序表合併成乙個新的有序表。2 演算法時間複雜度 最好的情況下 一趟歸併需要n次,總共需要logn次,因此為o n logn 最壞的情況下,接近於平均情況下,為o n logn 說明 對長度為n的檔案,需進行logn 趟二路歸併,每趟歸併...

Java實現歸併排序

剛開始接觸歸併排序的時候,感覺挺困難的,但是仔細的分析之後,就會發現它的原理還是蠻簡單的 就是借助另外的乙個陣列空間將左右兩側 從中間mid處劃分 已經排序好的原陣列轉到新的陣列空間。如下圖所示 轉移操作時,就是左右所指的資料進行比較,將較小的資料 由小到大排序 儲存到新的陣列空間。如下圖所示 了解...

Java實現歸併排序

思想就是 將陣列分成兩個陣列,如果兩個陣列的元素都是有序的,那麼就可以很方便的將這兩組資料歸併。如果沒有序繼續將兩組陣列分組,以此類推,當組內只有乙個資料時,認為這個小組內已經有序,然後合併相鄰兩個小組就可以。package sort 歸併排序 2015 05 31 public class mer...