稳定性:
如果一个排序算法保留了等值元素在输入中的相对顺序,它被称为是稳定的。
稳定性有何意义呢?假设我们有一个按照字母排序的学生列表,现在我们打算以学生个人的平均成绩来排序:一个稳定算法输出的列表将会把同样成绩的学生仍然按照字母顺序排列。
一般来说,将分开很远的键相互交换的算法是不稳定的,但往往速度很快。
在位:
第二个值得注意的特性是算法需要的额外存储空间。如果一个算法除了个别存储单元以外,不需要额外的存储空间,我们把它称为是在位的。
来源:《算法设计与分析基础》