第12章 树 计算机软件技术知识基础教程 .ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 树 计算机软件技术知识基础教程 .ppt

12.1 树的基本概念 12.2 二叉树 12.3 二叉树的存储结构 12.4 二叉树的遍历 12.5 二叉树的应用;第12章 树;图12.1 学校的教学组织机构图; 将n=0时的空集合定义为空树(有的书上将n=1的集合定义为空树)。 以上的定义是一个递归的定义,即树的定义中又用到了树的概念。树的递归定义刻画了树的固有特性。 树的直观表示通常采用以下几种方法: (1) 直观表示法:使用圆圈表示结点,连线表示结点之间的关系,结点的名字可写在圆圈内或圆圈旁,如图12.1所示。 (2) 文氏图表示法:使用圆圈表示结点,用圆圈的相互包含表示结点之间的关系,如图12.2 (a)所示。; (4) 嵌套括号表示法:使用括号表示结点,括号的相互包含表示结点间的关系,如图12.2(c)所示。 在树形结构的描述中,常用到以下的一些术语,其中许多术语借用了家族谱中的一些习惯用语: ·结点:是指树中的一个元素,包含数据项及若干指向其子树的分支。 ·结点的度:是指结点拥有的子树个数,如图12.1中的学校结点的度为10,一系结点的度为8。 ·树的度:是指树中最大的结点度数,如图12.1中的树的度为10。; ·堂兄弟:双亲在同一层上的结点互称为堂兄弟,如图12.1中一系1室和二系1室互为堂兄弟。 ·路径:若存在一个结点序列k1, k2, …, kj, 可使k1到达kj, 则称这个结序序列是k1到达kj的一条路径。 ·子孙和祖先:若存在k1到kj的一条路径k1, k2, …, kj,则k1, …, kj-1为kj的祖先,而k2, …, kj为k1的子孙。在图12.1中, 学校和各系是教研室的祖先,而系和教研室是学校的子孙。 ·森林:m(m≥0)棵互不相交的树的集合构成森林。删除一棵树的根时,就得到了子树构成的森林;当在森林中加上一个根结点时,森林就变为一棵树。 ·有序树和无序树:若将树中每个结点的各个子树都看成是从左到右有次序的(即不能互换),则称该树为有序树,否则为无序树。;12.2 二 叉 树;图12.3 二叉树的基本形态; 除了五种基本形态外,二叉树还有两种常用的特殊形态:满二叉树和完全二叉树。 一棵深度为k且有2k-1个结点的二叉树称为满二叉???。满二叉树的特点是每一层的结点数都达到该层可具有的最大结点数,因而满二叉树中不存在度数为1的结点。 当对满二叉树中的结点按照从根结点开始,自上而下、从左至右进行连续编号时,可得到如图12.4(a)所示的带有编号的满二叉树。 如果一个深度为k的二叉树,它的结点也按上述规则进行编号后,得到的顺序与满二叉树相应结点编号顺序一致,则称这个二叉树为完全二叉树。图12.4(b)是一个有六个结点的完全二叉树,而图12.4(c)是一个非完全二叉树。;图12.4 满二叉树、完全二叉树和非完全二叉树; 从上面关于完全二叉树的描述中可以给出完全二叉树的另一种描述形式:若一棵二叉树至多只有最下面两层上的结点度数可以小于2, 并且最下面一层的结点都集中在该层最左边的若干位置上,则称此二叉树为是完全二叉树。 二叉树与无序树的不同之处在于i无序树的子树无次序可分并且可以相互交换,而二叉树的子树则有次序可分并且不能相互交换。二叉树与有序树也不同,若某个结点只有一个孩子时,有序树不区分左、右次序,而二叉树则要区分左、右次序。 任何一棵树都可以转换为一棵二叉树,同时一棵二叉树也可转换成一棵树,而且这种转换是具有惟一性的。 ; 将一棵树转换为二叉树的方法是: (1) 在兄弟之间增加一条连线; (2) 对每个结点,除了保留与其左孩子的连线外,除去与其他孩子之间的连线; (3) 以树的根结点为轴心,将整个树顺时针旋转45°。 图12.5(a)、(b)、(c)给出了一棵树转换为二叉树的过程。从转换结果可以看出,任何一棵树转化为对应的二叉树后,二叉树的左子树为空。 从一棵二叉树到树的转换规则是: (1) 若结点X是双亲Y的左孩子,则把X的右孩子,右孩子的右孩子……都与Y用线相连;; (2) 去掉原有的双亲到右孩子的连线。 图12.5(d)、(e)给出了一棵二叉树转化为树的过程。 ? ;图12.5 树与二叉树相互转换示例; 1

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档