稳定排序:若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,则该排序方法是稳定的。
稳定的排序
1.冒泡
时间:最好O(n),最坏和平均O(n^2);空间:1
2. 插入排序
时间:最好O(n),最坏和平均O(n^2);空间:1
3. 归并排序
时间:最好,最坏和平均O(nlogn);空间:O(n)
4. 基数排序
时间:O(dn);空间:O(n)
不稳定的排序
1. 选择排序
时间:最坏和平均O(n^2);空间:1
2. 希尔排序
时间:O(nlogn);空间:1
3. 堆排序
时间:都是O(nlogn);空间:1
4. 快速排序
时间:平均O(nlogn),最坏O(n^2);空间:O(nlogn)
内部排序
整个文件都放在内存中,不涉及数据的内、外存交换,适用于计数个数不是很多的小文件。
按策略划分内存排序:
插入排序,选择排序,交换排序,归并排序