- 1、本文档共103页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)叶子结点只可能在层次最大的两层上
您可能关注的文档
- 辽阳市第九中学2013 2014八级下期中考试数学试题.doc
- 列方程解决实际问题苏教版第十一册.ppt
- 列方程解两三步应用题.ppt
- 林莉小巷深处.ppt
- 林老先生简介投影片下载 峇株吧辖华仁中学资讯网.pptx
- 临床学院2010级1班X 新乡 新乡医学院三全学院.pptx
- 临沂开发区2013 2014八级下期末学业测试英语试题1.doc
- 临沂开发区2013 2014八级下期末学业数学试题及答案.doc
- 临沂开发区2013 2014八级下期末学业测试英语试题2.doc
- 临沂开发区2013 2014七级下期末学业数学试题及答案.doc
- 第12课 我们小点儿声 课件 二年级道德与法治上册(部编版).ppt
- 11.2我从哪里来(教学课件)二年级道德与法治下册(统编版).ppt
- 第10课 我们不乱扔 课件 二年级道德与法治上册(部编版).ppt
- 1.3过好我们的课余生活 课件五年级道德与法治上册(部编版).ppt
- 第四单元《法律保护我们健康成长》大单元整体学程设计道德与法治六年级上册统编版.pdf
- 第十一课:多姿多彩的民间艺术(分层练习)四年级道法下册 部编版.pdf
- 第八课:大家的“朋友”(分层练习)三年级道法下册 部编版.pdf
- 第5课 我爱我们班 课件 二年级道德与法治上册(部编版).ppt
- 第二单元 我们是公民 大单元整体学程设计道德与法治六年级上册统编版.pdf
- 人教部编版二年级语文下册第五单元单元教学课件.ppt
文档评论(0)