基礎比較類排序演算法

2021-09-12 19:12:54 字數 934 閱讀 7316

* 氣泡排序

* @param array

*/public static void bubblesort(int array)

system.out.println(arrays.tostring(array));}}

}

/**

* 插入排序

* @param array

*/public static void insertsort(int array)

int i = low,j = high;

int value = array[i];

while(i= value)

if(i < j)

while (i < j && array[i] =0; i--)

//交換堆頂元素與末尾元素+調整堆結構

for(int j = array.length-1; j>0; j--)

}private static void adjustheap(int array,int i,int length)else

}array[i] = temp;//將temp值放到最終的位置

}

/**

* 希爾排序

* @param array

*/public static void shellsort(int array){

for (int h = array.length/2;h>0;h = h/2){

for(int i = h;i=0;j= j-h){

if(temp參考:十大經典排序演算法(**演示)

基礎排序演算法比較學習筆記

1 快速排序 quicksort 快速排序是乙個就地排序,分而治之,大規模遞迴的演算法。從本質上來說,它是歸併排序的就地版本。快速排序可以由下面四步組成。1 如果不多於1個資料,直接返回。2 一般選擇序列最左邊的值作為支點資料。3 將序列分成2部分,一部分都大於支點資料,另外一部分都小於支點資料。4...

排序演算法比較

本章中已經研究並仔細分析了多個內部排序方法。對於這些內部排序方法之間的比較,主要從以下幾個方面綜合考慮 時間複雜度 空間複雜度 演算法穩定性 演算法簡單性 待排序記錄數 n的大小 記錄本身的資訊量等。選擇n 個整數組成一些隨機排序,各種內部排序方法的實際時間如圖 7 10 所示。從時間複雜度看,所有...

排序演算法比較

排序方法 最好時間 平均時間 最壞時間 輔助儲存 穩定性備註 簡單選擇排序 o n2 o n2 o n2 o 1 不穩定n小時較好 直接插入排序 o n o n2 o n2 o 1 穩定大部分已有序時較好 氣泡排序 o n o n2 o n2 o 1 穩定n小時較好 希爾排序 o n o nlogn...