排序算法的一般选择规则
1个回答
展开全部
1、元素个数n大,排序码分布随机,稳定性不做要求---快速排序。
2、元素个数n大,内存空间允许,要求稳定性-----二路归并排序。
3、元素个数n大,排序码可能正序或逆序,稳定性不做要求----堆排序、二路归并。
4、元素个数n小,排序码基本有序或随机,要求稳定性----直接插入排序。
5、元素个数n小,稳定性不做要求------直接选择排序。
6、元素个数n小,排序码不接近逆序----直接插入排序。
7、冒泡排序一般很少用。
排序算法的简介:
排序算法(Sorting algorithm)是指数据处理中将文件中记录按键码的一定次序要求排列起来的算法。所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
排序算法最重要的评估标准主要有以下几方面:
1、时间复杂度:即从序列的初始状态到经过排序算法的变换移位等操作变到最终排序好的结果状态的过程所花费的时间度量。
2、空间复杂度:就是从序列的初始状态经过排序移位变换的过程一直到最终的状态所花费的空间开销。
3、使用场景:排序算法有很多,不同种类的排序算法适合不同种类的情景,可能有时候需要节省空间对时间要求没那么多,反之,有时候则是希望多考虑一些时间,对空间要求没那么高,总之一般都会必须从某一方面做出抉择。
4、稳定性:稳定性是不管考虑时间和空间必须要考虑的问题,往往也是非常重要的影响选择的因素。