您的位置:首页 > 其它

排序算法

2016-07-23 14:29 197 查看
排序算法原理、复杂度、稳定性的简单记录。先转一篇排序算法稳定性时间复杂度小结

快排不稳定发生在pivot和最后一个比它小的元素(设一个指针指向)交换时刻,再设一个指针遍历从pivot下一元素开始的所有元素。4,2,1,7,13为例,第一次1,2,4,7,13.

归并排序是稳定的,合并过程中我们可以保证如果两个当前元素相等时,我们把处在前面的序列的元素保存在结果序列的前面,这样就保证了稳定性。

堆排序是不稳定的,发生在父节点选择元素的时候。当为n/2-1, n/2-2, ...1这些个父节点选择元素时,就会破坏稳定性。有可能第n/2个父节点交换把后面一个元素交换过去了,而第n/2-1个父节点把后面一个相同的元素没有交换,那么这2个相同的元素之间的稳定性就被破坏了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: