内容及考核知识点.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3.2 排 序 1、直接插入排序 2、冒泡排序 3、选择排序 1.直接插入排序 依次将每个记录插入到一个有序的子序列中去 初始状态: [9] 4 6 5 8 2 第一趟: [4 9] 6 5 8 2 第二趟: [4 6 9] 5 8 2 第三趟: [4 5 6 9] 8 2 第四趟: [4 4 6 8 9] 2 第五趟: [2 4 5 6 8 9] 示例 1.直接插入排序 依次将每个记录插入到一个有序的子序列中去 时、空性能: 若各记录已排好序,关键字比较次数为n-1,记录的移动次数为0,时间复杂度是O(n)。 当各记录恰好是逆序排序时,关键字比较次数为(n+2)(n-1)/2;记录的移动次数为(n-1)(n+4)/2。时间复杂度为o(n2)。平均时间复杂度为O(n2) 空间复杂度为0(1)。 算法思路: 首先将第一个记录和第二个记录的关键字进行比较,若为逆序,则将两个记录交换,然后比较第二个记录和第三个记录的关键字。依此类推,直至第n-1个记录和第n个记录的关键字进行过比较为止。完成第一趟冒泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上,然后进行第二趟冒泡排序,……,直至排序结束。 2、冒泡排序 示例 49 38 65 97 76 13 27 49 49 38 65 97 76 13 27 49 38 49 76 97 13 97 97 27 97 49 13 27 97 76 65 49 49 38 38 49 65 76 13 27 49 97 13 76 27 76 76 49 38 49 13 27 49 97 76 65 38 13 27 49 97 76 65 49 13 27 38 97 76 65 49 49 时、空性能: 若各记录已排好序,关键字比较次数为n-1(最小值),记录的移动次数为0(最小值)。其时间复杂度是O(n)。 当各记录恰好是逆序时,关键字比较次数为: (n+2)(n-1)/2(最大值);记录的移动次数为: 3n(n-1)/2(最大值)。此时的时间复杂度为O(n2); 空间复杂度是O(1)。 2、冒泡排序 算法思路: 首先在所有的记录中选出关键字值最小的记录,把它与第一个记录交换;然后在其余的记录中再选出值最小的记录与第二个记录交换;依次类推,直至所有记录排序完成。在第i趟中,通过n-1次的比较选出所有记录。 3、直接选择排序 初始状态: 9 4 6 5 8 2 第一趟: 2 4 6 5 8 9 第二趟: 2 4 6 5 8 9 第三趟: 2 4 5 6 8 9 第四趟: 2 4 5 6 8 9 第五趟: 2 4 5 6 8 9 示例 时、空性能 无论待排序的记录初始序列如何,直接选择排序都要执行n(n-1)/2次关键字比较。如果记录初始序列已排好序,则移动记录0次:如果记录初始序列恰好是逆序,则要做3(n-1)次记录移动 。所以时间复杂度是O(n2) 空间复杂度为0(1)。 3、直接选择排序 本 章 小 结 在计算机科学的各个领域中,尤其是在软件的设计、开发和实现中都要用到各种数据结构。 数据结构研究的主要内容是数据的逻辑结构、数据的物理结构和对数据的基本运算;而算法是建立在数据结构基础之上对问题求解方法的形式描述。 算法与数据结构有着密切的关系,学习算法与数据结构既为进一步学习其他软件课程提供必要的准备知识,又有助于提高软件设计开发的能力和程序编制的水平。 * * * * * 树 2. 二 叉 树 满二叉树 一棵深度为k(k≥1)且有2k-1个结点的二叉树称为满二叉树。 完全二叉树 深度为k(k≥1)有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。 树 2. 二 叉 树 特点:除最后一层外其余层都是满的,最后一层要么是满的,要么就是从右边开始少了几个连续的结点。 深度为k(k≥1)有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。 完全二叉树 判 断 完全二叉树 非完全二叉树 1 2 4 5 3 6 1 2 3 4 5 1 2 4 5 3 1 2 4 5 3 6 7 树 2. 二 叉 树 满二叉树必为完全二叉树,而完全二叉树不一定是满二叉树。 完全二叉树的特点: (1)除最下一层,每一层的结点数都达到最大结点数 (2)叶子结点只可能在层次最大的两层上

您可能关注的文档

文档评论(0)

大漠天下 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档