数据结构排序算法课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构排序算法课件.ppt

四、选择排序 堆排序 效率分析: 堆排序适合记录很多的情形,它的时间复杂度为O(nlog2n)。堆排序中初始建堆虽然时间复杂度为O(n),但每次调整后面的花费时间很少。 堆排序算法中增加了一个辅助空间,辅助空间为O(1)。 堆排序时间效率基本与待排序记录的初始状态无关 堆排序算法是不稳定 五、归并排序 算法思想: 设有两个有序表A和B,对象个数分别为al和bl,变量i和j分别是两表的当前指针。设表C是归并后的新有序表,变量k是它的当前指针。i和j对A和B遍历时,依次将关键字小的对象放到C中,当A或B遍历结束时,将另一个表的剩余部分照抄到新表中。 五、归并排序 简单选择排序 效率分析: 对n个元素的归并排序,两两过程对应由叶向根生成一棵二叉树的过程。所以归并趟数约等于二叉树的高度-1,即log2n,每趟归并需移动记录n次,故时间复杂度为O(nlog2n)。 归并排序在最好和最坏情况下的时间复杂度都为O(nlog2n) 归并排序算法是稳定 安徽工程大学计算机与信息学院电子教案 第八章 查找 单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 安徽工程大学计算机与信息学院电子教案 第八章 查找 第九章 排序 本章要求 【教学目的】掌握内排序方法的插入排序;选择排序;交换排序;基数排序;归并排序;排序的存储方式:连续地址、静态链表、索引;稳定的和不稳定的排序方法的判定方法,常见的稳定的排序方法和的不稳定的排序方法。了解外部排序的方法以及外部排序方法的特点。 【教学重点】每种排序方法的算法及算法的性能分析 【教学难点】排序方法的比较及稳定性的确定 第八章 查找 一、基本概念 二、插入排序 三、交换排序 四、选择排序 五、归并排序 一、基本概念 排序的目的 排序是为了通过关键字高效的查找相关的记录 排序 就是要调整原文件中的记录顺序,使之按关键字递增(或递减)次序排列起来。其形式化定义描述如下: 输入:n个记录r1,r2,…,rn,其相应的关键字分别为k1,k2,…,kn 输出:rl′,r2′,…,rn′,使得k1′≤k2′≤…≤kn′。 (或k1′≥k2′≥…≥kn′) //有序升序或者降序 一、基本概念 排序的数据结构 待排序的记录采用顺序存储,待排序记录的定义为: #define MAXSIZE 100 /*假定顺序表的最大长度为100 */ typedef int KeyType; /* 假定关键字类型为整数类型 */ typedef struct { KeyType key;/* 关键字项 */ OtherType other;/* 其他项 */ }DataType;/* 数据元素类型 */ typedef struct { DataType r[MAXSIZE +1]; /* r[0]闲置或充当哨兵 */ int length;/* 顺序表长度 */ } SqList;/* 顺序表类型 */ 一、基本概念 排序的数据结构 排序的稳定性:若存在关键字相同的多个记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;否则则称这种排序方法是不稳定的。 排序的分类:按是否涉及数据的内、外存交换分类:内排序、外排序。 内部排序方法有:插入排序、选择排序、交换排序、归并排序 排序的效率分析:时间代价和空间代价 二、插入排序 基本思想 通过构建有序序列,将待排序的数据,在已排好序的序列中从后向前扫描,找到其相应位置并进行插入操作。 直接插入排序 二分法插入排序 Shell排序 二、插入排序 直接插入排序 算法思想: 将待插入子序列元素逐步插入到有序子序列中,设有一待排序序列S={r1,r2,r3,…,ri,

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档