
3.相关概念:
稳定:如果 a 原本在 b 前面,而 a=b, 排序之后 a 任然在 b 前面。
不稳定:如果 a 原本在 b 前面,而 a = b, 排序之后 a 可能会出现在 b 的后面。
时间复杂度:对排列数据的总的操作次数。反映当 n 变化时,操作次数呈现什么规律。
空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模 n 的函数。
4.算法的选择:
若 n 较小( 如 n≤50), 可采用直接插入或直接选择排序;
若文件初始状态基本有序(指正序),则应选用直接插入、冒泡或随机的快速排序为宜;
若 n 较大,则应采用时间复杂度为 O(n log n) 的排序方法:快速排序、堆排序或归并排序;
若 n 较小,考虑稳定性,可以使用:基数排序、计数排序或者桶排序。
其中 插入算法和 归并算法 对重复率比较高的排序比较友好;冒泡算法不适合大量数据。
评论