武汉大学算法设计讲义第三讲要点详解.ppt

武汉大学算法设计讲义第三讲要点详解.ppt

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1、先序遍历二叉树的操作定义为: 若二叉树为空,则空操作;否则 (1)访问根结点; (2)先序遍历左子树; (3)先序遍历右子树。 2、中序遍历二叉树的操作定义为: 若二叉树为空,则空操作;否则 (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 3、后序遍历二叉树的操作定义为: 若二叉树为空,则空操作;否则 (1)后序遍历左子树; (2)后序遍历右子树; (3)访问根结点。 Algorithms Design Techniques and Analysis 例:如图所示的二叉树表达式 (a+b*(c-d)-e/f) 若先序遍历此二叉树,按访问结点的先后次序将结点排列起来,其先序序列为: -+a*b-cd/ef 按中序遍历,其中序序列为: a+b*c-d-e/f 按后序遍历,其后序序列为: abcd-*+ef/- - + * a / b - d c f e Algorithms Design Techniques and Analysis Algorithms Design Techniques and Analysis 3.6 二叉树 定义 二叉树是节点的一个有限集合,集合或者为空,或者由一个根节点r和称为左右子树的两个不相交的二叉树组成。这些子树的根称为r的左右儿子。 二叉树与根树之间有两个很重要的不同点: 第一,二叉树可以为空而根树不能为空。 第二,由于二叉树有左右子树的区别,使得图.3.6 中(a)、(b)两颗二叉树是不同的,但是如果是根树,他们就不能区分。 (a) 空二叉树 A A B A B A C B (b) 根和空的左右子树 (c) 根和左子树 (d) 根和右子树 (e) 根和左右子树 Algorithms Design Techniques and Analysis 二叉树 满的和完全的: 如果二叉树中每个内部节点都正好有两个儿子,这样的二叉树称为满的;如果二叉树是满二叉树,而且所有的叶子有同样的深度(如在同一层),那么这种二叉树称为完全二叉树。 几乎完全的: 如果一颗二叉树除了最右边位置上的一个或者几个叶子可能缺少外,它是丰满的,我们定义它为几乎完全的二叉树。 Algorithms Design Techniques and Analysis 二叉树的存储结构 一颗有n个顶点的完全(或几乎完全)的二叉树可以用数组A[1..n] 来有效的表示,数组根据下面的简单关系列出二叉树的顶点: 如果存储在A[j] 中的顶点有左儿子和右儿子,就把他们分别存储在A[2j] 和 A[2j+1]中。 存储在A[j] 中的顶点的父顶点存储在A[?j/2?]中。 二叉树的顺序存储结构 二叉树的顺序存储结构用一组连续的存储单元存储二叉树的数据元素。因此,必须把二叉树的所有结点安排成为一个恰当的序列,以使得结点在这个序列中的相互位置能反映出结点之间的逻辑关系,为此使用编号法。即从树根起,自上层至下层,每层自左至右的给所有结点编号。 #define MAX_TREE_SIZE 100 typedef TElemType SqBiTree[MAX_TREE_SIZE]; SqBiTree bt; 1 2 3 4 5 0 0 0 0 6 7 0 0 0 0 Algorithms Design Techniques and Analysis 二叉树的链式存储结构 由二叉树的定义可知,二叉树的结点由一个数据元素和分别指向其左、右子树的两个分支构成,则表示二叉树的链表结点中至少包含三个域:数据域、左指针域及右指针域。 typedef struct BiTNode{ TElemType data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; 二叉链表 Algorithms Design Techniques

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档