演算法 排序演算法的比較

2021-08-19 07:23:34 字數 655 閱讀 7746

預設為遞增順序;注:一下例子希望自己再次複習時,可以用筆在紙上畫畫記憶體圖。

包括有:

<--------------------------------------選擇排序--------------------------------------->

1、選擇排序(1):

選擇排序的思想是,每一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。

選擇排序1:

private static void selectionsort(int a)

}    }

}

來個小練習:對某個類的物件進行排序:

對日期(yeda-month-day)進行排序:

使用到條件運算子(?:)

public int compare(date date)		

}

} return a;

} /*selection sort */

public static date selectionsort(date a)

a[preindex + 1] = current;

}}

參考:

(1) 十大經典排序演算法)

排序演算法比較

本章中已經研究並仔細分析了多個內部排序方法。對於這些內部排序方法之間的比較,主要從以下幾個方面綜合考慮 時間複雜度 空間複雜度 演算法穩定性 演算法簡單性 待排序記錄數 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...

比較排序演算法

常用的比較排序演算法有 直接插入排序,希爾排序,選擇排序,堆排序,氣泡排序,快速排序,歸併排序等。它們的時間複雜度及空間複雜度為 實現 如下 includeusing namespace std include include 插入排序 void insertsort int a,size t si...