《排序算法设计》教学课件.ppt_第1页
《排序算法设计》教学课件.ppt_第2页
《排序算法设计》教学课件.ppt_第3页
《排序算法设计》教学课件.ppt_第4页
《排序算法设计》教学课件.ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

排序算法设计 选择排序与插入排序 排序 数据排序 sorting 是最重要的计算应用之一 例如查字典 字典中的词条是按序存放的 我们才能按字母顺序找到要查的字 又如图书馆的藏书也是按书的编号有序排列的 在计算机上数据库里的资料也是有序排列的 排序 排序 sorting 是数据处理中经常使用的一种重要运算 其功能是将数据元素的无序序列调整为一个有序序列 数据元素中一般有多个数据项 排序可选择其中一个可排序的数据项 可进行比较运算 作为依据 称为排序关键字 常用的排序法 比如我们对高考考生的统计表进行排序 可根据考生的准考证号 这样的关键字可以保证排序结果的唯一性 称主关键字 但为了便于录取 我们也可以按高考总分排序 只可称关键字 这样同一分数的人很多 这些人的排名可再取一个次关键字如数学或语文分来排序 以减少重复排名的随意性 从小到大排序称升序 反之为降序 最常见的三类是选择排序 插入排序和交换排序 基本思想是 每一趟从待排序的记录中选出关键字最小的元素 顺序放在已排好序的子序列的后面 直到全部记录排序完成 直接选择排序 StraightSelectionSort 是最简单的 此方法的最大优点是易读 缺点是做过的工作和序列的部分有序性利用不上 效率低 选择排序中也有可能利用到以前的工作的方法 如堆排列 HeapSort 选择排序 4938659776132749 13 38659776492749 1327 659776493849 132738 9776496549 13273849 76976549 1327384949 976576 1327384949 65 9776 1327384949 657697图6 7直接选择排序的过程 选择排序 例 直接选择排序 voidSelectSort intslist intlast inti j k temp for i 0 i last i k i temp slist i for j i j last j if slist j temp k j temp slist j if k i temp slist i slist i slist k slist k temp 1 直接插入排序的思想是 以升序为例 当插入第i i 1 个元素sl i 时 前面的元素sl 0 sl 1 sl i 1 已经排好序 我们将sl i 的关键字与sl i 1 sl i 2 的关键码顺序进行比较 找到第一个比它小的 则sl i 插到该元素之后 插入排序 直接插入排序算法中用了一个临时变量temp 要插入的元素放到temp中 这样插入前各元素后移时允许将该元素冲掉 插入排序 例 升序直接插入排序算法 voidInsertSort intslist intlast inti j temp for i 1 i0 2 对半插入排序 BinaryInsertSort 是用对半查找的思想取代顺序查找 对半插入排序要快于插入排序 插入排序 例 升序对半插入排序算法 升序对半插入排序算法 当关键字相同时 插入排序原来在前的仍在前 称稳定排序 voidBinaryInsertSort intslist intlast int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论