- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 排序; 3、教学重点
⑴排序基本概念及内排序和外排序、稳定排序和非稳
定排序的区别;
⑵插入排序的基本思想、基本步骤和算法;
⑶冒泡排序的基本思想、基本步骤、算法和算法分析;
⑷快速排序的基本思想、基本步骤和算法;
⑸直接选择排序的基本思想、基本步骤、算法和算法
分析;
⑹堆排序的基本思想、基本步骤和算法;
⑺归并排序的思想;
⑻两个有序文件合并的方法和算法;
⑼二路归并排序的算法和时空性能
4、教学难点
⑴快速排序算法;
⑵堆排序方法; 10.1 基本概念
排序(Sorting)是计算机程序设计中的一种重要操作,其功能是对一个数据元素集合或序列重新排列成一个按数据元素某个项值有序的序列。作为排序依据的数据项称为“排序码”,也即数据元素的关键码。为了便于查找,通常希望计算机中的数据表是按关键码有序的。如有序表的折半查找,查找效率较高。二叉排序树、B-树和B+树的构造过程就是一个排序过程。若关键码是主关键码,则对于任意待排序序列,经排序后得到的结果是唯一的;若关键码是次关键码,排序结果可能不唯一,这是因为具有相同关键码的数据元素,这些元素在排序结果中,它们之间的的位置关系与排序前不能保持。; 若对任意的数据元素序列,使用某个排序方法,对它按关键码进行排序:若相同关键码元素间的位置关系,排序前与排序后保持一致,称此排序方法是稳定的;而不能保持一致的排序方法则称为不稳定的。
排序分为两类:内排序和外排序。
内排序:指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列。
外排序:指排序过程中还需访问外存储器,足够大的元素序列,因不能完全放入内存,只能使用外排序。;10.2 插入排序;【算法10.1】
① r[0]=r[j]; //r[j]送r[0]中,使r[j]为待插入记录空位
i=j-1; //从第i个记录向前测试插入位置,用r[0]为辅助单元, 可免去测试i1。
② 若r[0].key≥r[i].key,转④。 //插入位置确定
③ 若r[0].key r[i].key时,
r[i+1]=r[i];i=i-1;转②。 //调整待插入位置
④ r[i+1]=r[0];结束。 //存放待插入记录 ;【例10.1】向有序表中插入一个记录的过程如下:
r[1] r[2] r[3] r[4] r[5] 存储单元
2 10 18 25 9 将r[5]插入四个记录的有序表中,j=5
r[0]=r[j];i=j-1; 初始化,设置待插入位置
2 10 18 25 □ r[i+1]为待插入位置
i=4,r[0] r[i],r[i+1]=r[i];i--; 调整待插入位置
2 10 18 □ 25
i=3,r[0] r[i],r[i+1]=r[i];i--; 调整待插入位置
2 10 □ 18 25
i=2,r[0] r[i],r[i+1]=r[i];i--; 调整待插入位置
2 □ 10 18 25
i=1,r[0] ≥r[i],r[i+1]=r[0]; 插入位置确定,向空位填入插入记录
2 9 10 18 25 向有序表中插入一个记录的过程结束; 直接插入排序方法:仅有一个记录的表总是有序的,因此,对n个记录的表,可从第二个记录开始直到第n个记录,逐个向有序表中进行插入操作,从而得到n个记录按关键码有序的表。 ;【效率分析】
空间效率:仅用了一个辅助单元。
时间效率:向有序表中逐个插入记录的操作,进行了n-1趟,每趟操作分为比较关键码和移动记录,而比较的次数和移动记录的次数取决于待排序列按关键码的初始排列。
最好情况下:即待排序列已按关键码有序,每趟操作只需1次比较2次移动。
总比较次数=n-1次
总移动次数=2(n-1)
您可能关注的文档
- 铁路路基常见病害的防治与处理技术总结.doc
- 述职报告发表20110629(曹立飞)技术总结.ppt
- 树和二叉树(一)数据结构实验技术总结.docx
- 树和二叉树的操作技术总结.doc
- 碎屑沉积物(岩)的沉积后作用技术总结.ppt
- 铁路路基工程技术总结.ppt
- 树和二叉树的基本知识技术总结.doc
- 铁路桥墩沉降观测评估分析报告技术总结.doc
- 树立团队目标,打造一流服务团队技术总结.ppt
- 软件测试工程师培训-测试标准题库.ppt
- 2025四川雅安产业投资(集团)有限公司招聘专业技术人员15人笔试历年参考题库附带答案详解.pdf
- 2025浙江宁波文化广场教育投资有限公司招聘1人笔试历年参考题库附带答案详解.pdf
- 2025中青建安建设集团有限公司招聘200人笔试历年参考题库附带答案详解.pdf
- 2025年中国永定红花岗岩数据监测报告.docx
- 2025年中国邮票专用纸数据监测研究报告.docx
- 2025辽宁葫芦岛市兴城市城建交通集团有限公司招聘5人笔试历年参考题库附带答案详解.pdf
- 2025江苏盐城海鑫投资集团有限公司招聘4人笔试历年参考题库附带答案详解.pdf
- 2025中交一航局西南工程有限公司招聘6人笔试历年参考题库附带答案详解.pdf
- 2025西乌旗天津蓝巢华润锡林郭勒运行维护项目部招聘30人(内蒙古)笔试历年参考题库附带答案详解.pdf
- 2025年中国组合式洗手器数据监测报告.docx
最近下载
- 上市公司数据资产入表案例分析与启示.pptx VIP
- 《工贸企业有限空间作业安全规定》(应急管理部13号令)培训.pptx VIP
- 应收账款账期到期提醒台账模板.xlsx VIP
- 《中华人民共和国民用航空法》培训解读课件.pptx VIP
- 02《红楼梦》整本书阅读回目自测(21-40回)(分层练习)-2024-2025学年高一语文同步精品讲练(统编版必修下册)解析版.docx VIP
- 防护棚安全通道搭设施工方案1.docx VIP
- 街区市集规划案.pptx VIP
- 污水零直排运维台账.docx VIP
- 2025年重庆市永川区社区工作者招聘考试笔试试题(含答案).pdf
- 安全生产治本攻坚三年行动PPT课件.pptx VIP
文档评论(0)