⑴ 常规的排序算法的共同点是什么
常规的排序算法的共同点是:
(1)比较;
(2)交换,即通过交换两个数据之间的位置关系来达到符合要求的次序;
(3)移动,它是交换的变形,也是通过把数据从某一存储地址换到另外的地址来达到符合要求的次序。
在计算机科学所使用的排序算法通常被分类为:
(a)计算的复杂度(最差、平均、和最好性能),依据列表(list)的大小(n)。
一般而言,好的性能是O(nlogn),且坏的性能是O(n^2)。对于一个排序理想的性能是O(n)。
而仅使用一个抽象关键比较运算的排序算法总平均上总是至少需要O(nlogn)。
(b)存储器使用量(空间复杂度)(以及其他电脑资源的使用)
(c)稳定度:稳定的排序算法会依照相等的关键(换言之就是值)维持纪录的相对次序。
(d)一般的方法:插入、交换、选择、合并等等。交换排序包含冒泡排序和快速排序。插入排序包含希尔排序,选择排序包括堆排序等。