[电脑基础知识]第7章 树.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文档。上传文档
查看更多
[电脑基础知识]第7章 树

第 7 章 树 授课班级:可视化、数据库 学习目标 理解树的定义和与树相关的结点、度、路径等术语 理解树是一个非线性层次数据结构 掌握树的前序遍历、中序遍历和后序遍历方法 了解树的父结点数组表示法 了解树的儿子链表表示法 了解树的左儿子右兄弟表示法 理解二叉树和ADT二叉树的概念 了解二叉树的顺序存储结构 了解二叉树的结点度表示法 掌握用指针实现二叉树的方法 理解线索二叉树结构及其适用范围 7.1 树的定义 树型结构是一类重要的非线性结构。树型结构是结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。树结构在客观世界国是大量存在的,例如家谱、行政组织机构都可用树形象地表示。树在计算机领域中也有着广泛的应用,例如在编译程序中,用树来表示源程序的语法结构;在数据库系统中,可用树来组织信息;在分析算法的行为时,可用树来描述其执行过程。等等。 树是由一个集合以及在该集合上定义的一种层次关系构成。 定义:树(Tree)是n(n=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件: (1)有且仅有一个特定的称为根(Root)的结点; (2)其余的结点可分为m(m=0)个互不相交的子集T1,T2,T3…Tm,其中每个子集又是一棵树,并称其为子树(Subtree)。 树结构中的一些基本概念和常用术语 结点:包含一个数据元素及若干指向其它结 点的分支信息。 结点的度:一个结点的子树个数称为此结点的度。 树的度: 树中所有结点的度的最大值。 叶结点:度为0的结点,即无后继的结点,也称为终端结点。 分支结点:度不为0的结点,也称为非终端结点。除根结点外的分支结点统称为内部结点。 结点的高度:从该结点到各叶结点的最长路径的长度。树的高度是指根结点的高度。 路径(道路):若存在树中的一个结点序列k1,k2,……,kj,使得结点ki是结点ki+1的父结点,则称该结点序列是树中从结点k1到kj的一条路径。 路径长度:该路径所经过的边(即连接两个结点的线段)的数目。 祖先结点:一个结点的祖先结点是指从根结点到该结点的路径上的所有结点。在图7.1中,结点F的祖先是A、B、F。  子孙结点:一个结点的直接后继和间接后继称为该结点的子孙结点。在图7.1中,结点F的子孙是F、I、 J。 注意:任一结点既是它自己的祖先也是它自己 的子孙。 真祖先、真子孙:树中一个结点的非自身祖先和子孙分别称为该结点的真祖先和真子孙。 兄弟结点:同一双亲结点的孩子结点之间互称兄弟结点。在图7.1中,结点F的兄弟是E。 结点的深度或层数:从根结点开始定义,根结点的层次为0,其余结点的深度为其父结点的深度加1,如根的直接后继的层次为1,依此类推。 有序树:在树T中,如果将树中结点的各子树看成从左至右是有次序的,则称该树为有序树,否则称为无序树。在有序树中最左边的子树的根称为第一个孩子(最左儿子或简称为左儿子),最右边的称为最后一个孩子(最右儿子或简称为右儿子) 。 森林是m(m=0)棵互不相交的树的集合。如果我们删去一棵树的树根,留下的子树就构成了一个森林。当我们删去的是一棵有序树的树根时,留下的子树也是有序的,这些树组成一个树表。在这种情况下,称这些树组成的森林为有序森林或果园。 7.2 树的遍历 定义:按某条搜索路径巡访树中的每一个结点,使得每一个结点均被访问一次,而且仅被访问一次。 遍历方式: 前序遍历 中序遍历 后序遍历 三种遍历方式的定义: (1)若T是一棵空树,对T进行三种遍历操作都是空操作; (2)若T是一棵单结点树,对T进行三种遍历操作都只访问单结点; 否则,设以n为树根,树根的子树从左到右依次是T1,T2,……,TK,那么 对T进行前序遍历是先访问树根n,然后依次前序遍历T1,T2,……,TK。 对T进行中序遍历是先中序遍历T1,然后访问树根n,接着依次对T2,……,TK进行中序遍历。 对T进行后序遍历是先依次对T1,T2,……,TK进行后序遍历,最后访问树根n。 例如,对图7.1进行前序遍历、中序遍历和后序遍历的结果分别为: 前序:A B E F I J C D G H 中序:E B I F J A C G D H 后序:E I J F B C G H D A 练习:写出下图所示的树, 其先序、 中序、 后序遍历的序列。  解答: 先序遍历: A、 B、 D、 F、 G、 C、 E、 H 。  中序遍历: B、 F、 D、 G、 A、 C、 E、 H 。  后序遍历: F、 G、 D、 B、 H、 E、 C、 A 。 非递归方式产生三种遍历的序列: 从树根出发,依逆时针方向沿树的外缘绕行, 若按第一次经过的时间次序

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档