北邮数据结构排序课件
《数据结构与STL》
第八章
排序
北京邮电大学 信息与通信工程学院
第八章 排序学习内容: 1. 2. 3. 4. 5. 6. 7. 8.2013-12-11
概述 插入排序 交换排序 选择排序 归并排序 排序比较 外部排序 STL 中相关排序算法《数据结构与STL》 2
1 概述排序 给定一个记录序列,按照每个记录的关键码将 记录进行重新排列,使关键码从小到大/从大 到小有序。 正序:关键码从小到大排列 逆序:关键码从大到小排列
2013-12-11
《数据结构与STL》
1 概述趟 在排序算法中,将待排序的记录扫描一遍称为一 趟。
稳定性 待排序记录中具有相同关键码的记录,若排序前 后,这些记录的相对位置不变,则为稳定排序; 否则为不稳定。
2013-12-11
《数据结构与STL》
1 概述排序的分类 根据是否将全部记录放进内存,分为内部排序 和外部排序 根据排序的原则,可以将排序分成: 插入排序 交换排序 选择排序 归并排序
2013-12-11
《数据结构与STL》
1 概述如何评价一个排序算法? 排序的基本操作:比较和移动 主要:比较的次数或移动次数较少的算法性能较好。 次要:空间复杂度. 算法本身的复杂度
2013-12-11
《数据结构与STL》
第八章 排序学习内容: 1. 2. 3. 4. 5. 6. 7. 8.2013-12-11
概述 插入排序 交换排序 选择排序 归并排序 排序比较 外部排序 STL 中相关排序算法《数据结构与STL》 7
插入排序主要内容 1.存储结构 2.直接插入排序 3.希尔排序
2013-12-11
《数据结构与STL》
1.存储结构排序使用顺序结构 为了关注排序算法本身,所以本章所有排序的存 储结构是0号位置留空的整型一维数组。
int r[n];
2013-12-11
《数据结构与STL》
2. 插入排序插入排序的特征 类似于玩纸牌时整理手中纸牌的过程。 寻找一个指定记录在待排序记录中的位置,然后 插入的排序算法。
2013-12-11
《数据结构与STL》
2.直接插入排序基本思想 每次将一个待排序的记录按其关键码的大小插入 到一个已经排序好的有序序列中,直到全部记录 排序好。插入到合适的位置 r1≤r2 ≤ ≤ ri-1 有序区 |ri ri+1 无序区 rn
2013-12-11
《数据结构与STL》
2.直接插入排序需要解决的问题 1)如何构造初始有序序列? 2)如何找到插入的位置?
插入到合适的位置 r1≤r2 ≤ ≤ ri-1 |ri ri+1 rn
有序区
无序区
2013-12-11
《数据结构与STL》
1)如何构造初始有序序列?第一趟有序序列 r[2] 无序序列 r[3..n] r[1]
第二趟有序序列r[1..2] r[3] 无序序列 r[4..n]
第n-1趟有序序列r[1..n-1]2013-12-11 《数据结构与STL》
r[n]13
直接插入排序的过程初始序列第一趟
[12]15 9 20 10 31[12 15 ]9 20 10 31
2424
第二趟第三趟 第四趟 第五趟 第六趟2013-12-11
[9 12 15]20 10 31 24[9 12 15 20]10 31 24 24
[9 10 12 15 20] 31 [9 10 12 15 20 [9 10 12 15 20《数据结构与STL》
31] 24 24 31]14
2)如何找到插入的位置?基本思想 设置r[0]为“哨兵”,从后向前查找有序区,边 查找边后移,直到找到合适的位置,将r[0]插入。r[0]=r[i]; for (int j=i-1; r[0]<r[j]; j--) r[j+1] =r[j]; r[j+1] = r[0]; if (r[i]<r[i-1]){ r[0]=r[i]; for (int j=i-1; r[0]<r[j]; j--) r[j+1] =r[j]; r[j+1] = r[0]; } ri+1 无序区《数据结构与STL》 15
插入到合适的位置r1≤r2 ≤ ≤ ri-1 有序区2013-12-11
|ri
rn
2. 直接插入排序的算法void InsertSort(int r[], int n) //升序排列 { for (int i=2; i<=n; i++) //i从2~n循环,共n-1趟排序 { r[0]=r[i]; for (int j=i-1; r[0]<r[j]; j--) r[j+1] =r[j]; r[j+1] = r[0]; } }
2013-12-11
《数据结构与STL》
…… 此处隐藏:249字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




