常见内排序算法:
选择合适的排序方法应综合考虑以下因素:
1、待排序的记录数目n
2、记录的大小(规模)
3、关键字的结构及其初始状态
4、对稳定性的要求
5、语言工具的条件
6、存储结构
7、时间和辅助空间的复杂度等
不同条件下,排序算法的选择:
1、若n较小(n<50)可采用直插法和简单选择法
2、若文件初始状态基本有序(正序),则应选用直插法、冒泡或随机的快速排序为宜
3、若n较大、则应采用时间复杂度为o(nlgn)的排序方法:堆排序、归并排序、快速排序
快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布的,快速排序的平均时间最短
堆排序需要的辅助空间少于快速排序,并且不会出现快排可能出现的最坏情况