算法与数据结构插数.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文档。上传文档
查看更多
算法与数据结构插数

1.3常见算法介绍 (3)快速排序: 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。 举例: 46 55 13 42 94 5 17 70 第一次快速排序后: [17 5 13 42] 46 [94 55 70] 第二次: [13 5] 17 42 46 [70 55] 94 第三次: 5 13 17 42 46 55 70 94 2.4树 4、两种特殊形态的二叉树 (1)满二叉树 深度为k(k=1)且有2 K-1个结点的二叉树 (2)完全二叉树 如果在一棵深度为K的满二叉树上删去第K层上最右边的连续J (0=J=2K-1)个结点,就得到一棵深度为K的完全二叉树 计算机基础科学系 2.4树 (1)前序遍历 (NLR) (2)中序遍历 (LNR) (3)后序遍历 (LRN) 访问根结点 按照前序遍历顺序访问根结点的左子树按照前序遍历顺序访问根结点的右子树 按中序遍历顺序访问根结点的左子树 访问根结点 按中序遍历顺序访问根结点的右子树 按后序遍历顺序访问根结点的左子树 按后序遍历顺序访问根结点的右子树 访问根结点 5、二叉树的遍历 计算机基础科学系 2.4树 前序遍历(根左右): 中序遍历(左根右) : 后序遍历(左右根) : A B C D E F C B D A E F C D B F E A 返回 第5章 算法与数据结构 计算机基础科学系 主要教学内容 算法基础 1 数据结构基础 2 小 结 3 计算机基础科学系 学习目标 1 了解算法的基本概念;掌握算法的三种基本结构;了解常见算法。 2 掌握数据的逻辑结构、物理存储结构的基本概念。 3 掌握线性列表、堆栈、队列的基本操作;掌握树和二叉树的概念;掌握二叉树的特点、性质和遍历方案。 计算机基础科学系 重点与难点 算法的概念、特征与设计原则,算法的描述与常用算法的实现思想为本讲的重点;数据结构的基本知识为本讲的难点。 计算机基础科学系 1.算法基础 算法是指解决问题的方法和步骤,是对解决某一问题方案的准确描述。 算法 Algorithm 如:求圆的面积问题(s=πr2 ) ,把这个问题交给计算机来处理,过程为先输入圆的半径,然后按面积计算公式计算,最后输出计算结果。描述如下: 1.输入圆的半径 2.计算圆的面积;s=πr2; 3.输出圆的面积s; 上述这种解决问题的方法就是一个算法。 计算机基础科学系 算法的特征 有穷性 有输入 有输出 确定性 可行性 算法中的每个步骤都能在有限时间内完成。 算法中的所有运算都是基本的,都可以通过基本运算有限次实现之。 算法的每一种运算有确定的意义,执行何种动作无二义性,目的明确。 1.1 算法的概念 计算机基础科学系 算法设计的原则 正确性 高效率与低存储量需求 可读性 健壮性 当输入的数据非法时,算法应当恰当地作出反映或进行相应处理。 程序对于精心选择的、典型、苛刻且带有刁难性的几组输入数据能够得出满足要求的结果。 计算机基础科学系 1.1 算法的概念 时间复杂度 是指算法需要消耗的时间资源。 空间复杂度 是指算法需要消耗的空间资源。 算法执行时间的增长率和 f(n) 的增长率相同,记作:T(n) = O(f(n)) (a)x:=x+1 (b)for i:=1 to n do x:=x+1 (c) for j:=1 to n do for k:=1 to n do x:=x+1 基本操作: 加法操作 时间复杂度: (a)O(1) (b)O(n) (c)O(n2) 算法的复杂度 计算机基础科学系 1.2算法的三种基本结构 分支结构包括简单分支与选择分支结构。选择分支结构可以根据设定的条件,判断应该选择哪一条分支来执行。 顺序结构是指按程序语句行的编写顺序,逐条执行。 循环结构是指按照一定的条件反复执行某一或某些处理步骤的结构。 有两种循环语句:一种是先判断条件再执行循环体的结构称为当型循环结构;另一种是先执行循环体后判断条件的结构称为直到型循环结构。 顺序 分支 循环 计算机基础科学系 1.2算法的三种基本结构 输入/输出框 处理框 条件框 起止框 圆角矩形用于算法的起止 平行四边形用于描述算法的输入与输出 矩形用于算法数据的处理 棱形框用于算法的判断

文档评论(0)

woaitiantian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档