- 6
- 0
- 约2.58千字
- 约 2页
- 2021-01-23 发布于天津
- 举报
稳定排序和不稳定排序
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多 选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目 ,当然如果你笔试之 前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本 文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。
首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前 2 个相等的数其 在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果
Ai = Aj, Ai原来在位置前,排序后 Ai还是要在Aj位置前。
其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从 另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按 低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外, 如果排序算法稳定 ,对基于比较的排序算法而言 ,元素交换的次数可能会少一些 (个人感觉, 没有证实 )。
回到主题,现在分析一下常见的排序算法的稳定性,每个都给出简单的理由。
冒泡排序
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比 较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他 们俩交换一下的 ;如果两个相等的元素没有
您可能关注的文档
最近下载
- 2026年贵州省贵阳市社区工作者考试卷附答案.docx VIP
- 药剂学(第9版)ER7-1 第七章 流变学基础(课件).pptx VIP
- 2026年天津市专业技术人才继续教育公需试题-人工智能通识——当AI遇见区块链 构建可信智能经济的基石.doc
- 部编版小学四年级语文下册阅读理解练习(20篇,含答案及解析).docx
- 某小区室外配套工程施工组织设计.doc VIP
- 《乡村振兴劳务品牌人员评价管理规范》.pdf VIP
- 河北省建设工程质量检验检测指导价(2020版).pdf VIP
- CJ_T 527-2018 道路照明灯杆技术条件.docx VIP
- 贝纳柯克斯体.ppt
- 铁总工电220-铁路信号电源系统设备暂行技术规范 (1).pdf VIP
原创力文档

文档评论(0)