算法的稳定性

来源:互联网 发布:mysql三表联查 编辑:程序博客网 时间:2024/05/16 07:24

之前只考虑了算法的时间复杂度。然后又想了一下关于算法稳定性的问题。
我学习稳定性的博客。
http://blog.csdn.net/johnny710vip/article/details/6895654
感谢。
稳定性是针对数组中两个相等值的元素而言的。若两个相等元素排序前后相对位置没有改变,则说这个排序算法是稳定的。
常见算法的稳定性总结:
①插入排序:稳定。
②冒泡排序:稳定。(每次只交换相邻的两个元素,若两个元素相等将不会进行交换)
③选择排序:不稳定。(例:序列3 8 3 2 9,第一遍选择第1个元素3会和2交换,原序列中两个3的相对前后顺序就改变了)
④快速排序:不稳定。
⑤希尔排序:不稳定。
⑥归并排序:稳定。
堆排序和基数排序待续。
其实发现思考一下,都很简单的。

0 0
原创粉丝点击