《数据结构 》第10章 排序.pdf

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构 》第10章 排序

第十章 排序 第十章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 选择排序 10.4 交换排序 10.5 归并排序 10.6 各种排序方法的比较 10.7 外排序 10.1 排序的基本概念 10.1 排序的基本概念 排序 (Sorting )是计算机程序设计中的一种重要操作,它 是将一个数据元素(记录)的任意序列重新排列成按关键字有序 的序列。 假设含有n个记录的序列为 { R, R , …, R } 1 2 n 其相应的关键字序列为 { K, K , …, K } 1 2 n 需要确定1,2,…,n 的一种排列p , p , …, p ,使其相应的关键 1 2 n 字满足如下非递减关系 K ≤K ≤ … ≤K p1 p2 pn 也就是使序列成为 { R , R , …, R } p1 p2 pn 数据元素(记录)中用于排序的数据项称为排序域 或排序项。该域中的值称为排序码。 一组数据元素(记录)按递增或递减次序排列称之 为有序表,否则称为无序表。递增次序又称为升序或 正序,递减次序又称为降序或反序。 对于具有相同排序码的记录来说,如采用的排列方 法使排序后的相对位置不变,则称所用排列方法为稳 定的,否则称为不稳定的。 如职工登记表,以工资为排序码,以出生日期为排 序码。 排序分为内排序和外排序。 按照排序中使用的策略的不同,内排序可分 为五类:插入排序,交换排序,选择排序,归并 排序和分配排序。 外排序有二路归并排序。 排序过程中需要进行两种基本操作:比较关 键字和移动记录。 10.2 插入排序 10.2 插入排序 10.2.1 直接插入排序 直接插入排序 (Straight Insertion Sort),它的基本操作是将一个记录插入到已 排次序的有序表中。 时间复杂度O(n2),空间复杂度O(1)。 排序方法是稳定的。 (0) [36] 25 48 12 65 43 20 58 时间复杂 (1) [25 36] 48 12 65 43 20 58 度O(n2),空 间复杂度O(1)。 (2) [25 36 48] 12 65 43 20 58 排序方法 (3) [12 25 36 48] 65 43 20 58 是稳定的。 (4) [12 25 36 48 65] 43 20 58 (5) [12 25 36 43 48 65] 20 58 (6) [12 20 25 36 43 48 65] 58 (7) [12 20 25 36 43 48 58 65] void InsertSort (ElemType A[], int n

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档