- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 10.4 选择排序 — 直接选择排序算法分析 稳定性: 不稳定排序 举例说明 时间复杂度: 比较次数: (n-1)+(n-2)+…+1=n(n-1)/2 O(n2) 空间性能:1个辅助空间; * 10.4 选择排序 — 锦标赛排序 基本思想 也称为树形选择排序(Tree Selection Sort),是一种按照锦标赛的思想进行选择排序的方法。 首先对n个记录进行两两比较,然后优胜者之间再进行两两比较,如此重复,直至选出最小关键字的记录为止。 这个过程可以用一棵有n个叶子结点的完全二叉树表示。 根节点中的关键字即为叶子结点中的最小关键字。 在输出最小关键字之后,欲选出次小关键字, 仅需将叶子结点中的最小关键字改为“最大值”,如∞, 然后从该叶子结点开始,和其兄弟的关键字进行比较, 修改从叶子结点到根的路径上各结点的关键字, 最后根结点的关键字即为次小关键字。 * 10.4 选择排序 — 锦标赛排序示例 实例:对数据表A=(73,45,79,90,81,75,94,97) 排序 45 45 75 45 79 75 94 73 45 79 90 81 75 94 97 ∞ 73 73 73 ∞ ∞ 79 75 ∞ 81 81 79 ∞ 90 90 81 ∞ ∞ 94 90 ∞ ∞ ∞ 94 ∞ 97 97 97 ∞ 45 排序结果: 73 75 79 81 90 94 97 * 10.4 选择排序 — 锦标赛排序分析 时间复杂度: 过程分析 O(nlog2n) 辅助空间为n-1,空间复杂度为O(n-1). 缺点:辅助存储空间较多、最大值进行多余的比较。 * 10.4 选择排序 — 堆排序 堆排序:利用堆进行的排序。 定义:称n个元素组成的序列(a1,a2,…,an) 为堆, 当且仅当满足下面关系。(其中ki是元素ai的关键字) (1) ki≤k2i ; ki≤k2i+1 或 (2) ki≥k2i ; ki≥k2i+1 ( 2i≤n;2i+1≤n) 如果将此序列对应到编号的完全二叉树, a1 a2 a3 a7 a6 a5 a8 a9 a4 a11 a10 a13 a12 1 2 3 4 5 6 7 8 9 10 11 12 13 … * 10.4 选择排序 — 堆排序 则堆的定义可用完全二叉树中的有关术语解释为: 每一结点均不大于(或不小于)其左、右孩子结点的值。 若序列(a1,a2,…,an)是堆,则堆顶(完全二叉树的根)必为序列中的最小或最大值。 将根最大的堆称为大根堆, 根最小的堆称为小根堆. a1 a2 a3 a7 a6 a5 a8 a9 a4 a11 a10 a13 a12 1 2 3 4 5 6 7 8 9 10 11 12 13 … ki≤k2i ; ki≤k2i+1 * 10.4 选择排序 — 堆示例 100 90 80 70 60 65 55 30 50 10 30 20 40 50 65 75 80 90 大根堆 小根堆 * 10.4 选择排序 — 堆示例 例: 判断下面数据是否是堆:(5,23,16,68,64,72,71,73,45,79,90,81,75,94,97) 解:对应的二叉树形式如下: 5 23 16 68 64 72 71 73 45 79 90 81 75 94 97 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 不是堆! * 10.4 选择排序 — 堆排序 实现堆排序还需要解决两个问题: (1)如何由一个无序序列建成一个堆? (2)如何在输出堆顶元素之后,调整剩余元素成为一个新的堆? 问题(2)的解决方法是: 在输出堆顶元素之后,以堆中最后一个元素替代之,此时根结点的左、右子树均为堆,则仅需自上至下进行调整即可。 我们称自堆顶至叶子的调整过程为“筛选”。 问题1的解决方法是: 从一个无序序列建堆的过程就是一个反复“筛选”的过程。若将此序列看成是一个完全二叉树,则最后一个非终端结点是第?n/2?个元素,由此“筛选”只需从第?n/2?个元素开始。 * 堆排序(约定进行增排序,因而采用大根堆) 如果初始序列是堆,则可通过反复执行如下操作而最终得到一个有序序列: 筛选过程即输出根:即将根(第一个元素)与当前子序列中的最后一个元素交换。 调整堆:将输出根之后的子序列调整为堆。 如果初始序列不是堆,则首先要将其先建成堆,然后再按(1)的方式来实现。 10.4 选择排序 — 堆排序 * 100 90 80
您可能关注的文档
- 各种缺陷的分析及产生原因.doc
- 各类原产地证证书填制规范.doc
- 各类灾害发生后的自救与互救课件.pptx
- 各类通讯及音视频接口知识.docx
- 合九线全封闭工程施工组织设计.docx
- 各类风格家具尺寸用途等.ppt
- 各种面食介绍(动态ppt含音乐).pptx
- 合作竞争求双赢-活动探究型课件1.ppt
- 合同法不定项选择题.doc
- 合同法的新问题(金融合同2016-5-14).ppt
- 2026招商银行郑州分行寒假实习生招募备考题库及答案详解(精选题).docx
- 2026广发银行乌鲁木齐分行校园招聘备考题库及答案详解(全国通用).docx
- 2026广发银行苏州分行校园招聘备考题库附答案详解(培优a卷).docx
- 2026成都农商银行校园招聘备考题库含答案详解(精练).docx
- 2026杭州银行嘉兴分行秋季校园招聘备考题库含答案详解(综合卷).docx
- 2026年度秋季中国工商银行数字普惠中心校园招聘16人备考题库附答案详解(实用).docx
- 2026年度中国建设银行辽宁省分行校园招聘备考题库及答案详解一套.docx
- 2026齐鲁银行股份有限公司校园招聘备考题库有完整答案详解.docx
- 2026年度秋季中国工商银行青海省分行校园招聘230人备考题库含答案详解(轻巧夺冠).docx
- 2026年度秋季中国工商银行厦门市分行校园招聘195人备考题库含答案详解(名师推荐).docx
最近下载
- 中国铁矿选矿新技术和新工艺.ppt VIP
- 2025年中国全自动振荡仪行业市场全景评估及投资前景展望报告.docx
- AI可信数据空间白皮书-.pptx VIP
- 票管员的年度总结.pptx VIP
- 5篇中心医院医德医风谈话谈心记录(系列完整版).pdf
- T_ZZXJX 18-2021 现浇混凝土空心楼盖结构工程施工及验收技术规程.docx VIP
- 全国大学生职业规划大赛《医学美容技术》专业生涯发展展示PPT【高职(专科)】 .pptx
- 21 小圣施威降大圣 课件(共34张PPT).ppt VIP
- 新时代教育强国的根本遵循知到智慧树期末考试答案题库2025年喀什大学.docx VIP
- 混凝土冬季施工质量控制培训课件.pptx VIP
原创力文档


文档评论(0)