* 氣泡排序
* @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...