数据结构 第五节 第一课
【摘要】
[toc]
排序与搜索
排序算法 ( 英语: Sorting algorithm ) 是一种能将一串数据依照特定顺序进行排列的一种算法.
排序算法的稳定性
稳定性: 稳定排序算法会让原本有相等键值的记录维持相对次序. 也就是如果一个排序算法是稳定的, 当有两个相等键值的纪录 R 和 S, 且在原本的列表中 R 出现在 S 之前,...
[toc]
排序与搜索
排序算法 ( 英语: Sorting algorithm ) 是一种能将一串数据依照特定顺序进行排列的一种算法.
排序算法的稳定性
稳定性: 稳定排序算法会让原本有相等键值的记录维持相对次序. 也就是如果一个排序算法是稳定的, 当有两个相等键值的纪录 R 和 S, 且在原本的列表中 R 出现在 S 之前, 在排序过的列表中 R 也将会是在 S 之前.
当相等的元素是无法分辨的, 比如像是整数, 稳定性并不是一个问题. 然而, 假设以下的数对将要以他们的第一个数字来排序.
( 4, 1 ) ( 3, 1 ) ( 3, 7 ) ( 5, 6 )
在这个状况下, 有可能产生两种不同的结果, 一个让相等键值的记录维持相对的次序, 而另一个则没有:
( 3, 1 ) ( 3, 7 ) ( 4, 1 ) ( 5, 6 ) ( 维持次序 )
( 3, 7 ) ( 3, 1 ) ( 4, 1 ) ( 5, 6 ) ( 次序被改变 )
不稳定排序算法可能会在相等的键值中改变记录的相对次序, 但是稳定排序算法从来不会如此. 不稳定排序算法可以被特别地实现为稳定. 作这件事情的一个方式是人工扩充键值比较, 如此在其他方面相同键值的两个对象间之比较, ( 比如上面的比较中加入第二个标准: 第二个键值的大小 ) 就会被决定使用在原先数据次序中的条目, 当做一个同分决赛. 然而, 要记住这种次序通常牵扯到额外的空间负担.
文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。
原文链接:iamarookie.blog.csdn.net/article/details/109269572
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)