数据结构 第五节 第一课

举报
我是小白呀iamarookie 发表于 2021/09/09 23:28:48 2021/09/09
1.2k+ 0 0
【摘要】 [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

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。