[电脑基础知识]第7章 树

[电脑基础知识]第7章 树

ID:27544892

大小:463.50 KB

页数:90页

时间:2018-12-04

[电脑基础知识]第7章  树_第1页
[电脑基础知识]第7章  树_第2页
[电脑基础知识]第7章  树_第3页
[电脑基础知识]第7章  树_第4页
[电脑基础知识]第7章  树_第5页
资源描述:

《[电脑基础知识]第7章 树》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章树授课班级:可视化、数据库学习目标理解树的定义和与树相关的结点、度、路径等术语理解树是一个非线性层次数据结构掌握树的前序遍历、中序遍历和后序遍历方法了解树的父结点数组表示法了解树的儿子链表表示法了解树的左儿子右兄弟表示法理解二叉树和ADT二叉树的概念了解二叉树的顺序存储结构了解二叉树的结点度表示法掌握用指针实现二叉树的方法理解线索二叉树结构及其适用范围7.1树的定义树型结构是一类重要的非线性结构。树型结构是结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。树结构在客观世界国是大量存在的,例如家谱、行政组织机构都可用树形象地表示。树在计算机领域中也有着广泛的应用,例如在

2、编译程序中,用树来表示源程序的语法结构;在数据库系统中,可用树来组织信息;在分析算法的行为时,可用树来描述其执行过程。等等。树是由一个集合以及在该集合上定义的一种层次关系构成。定义:树(Tree)是n(n>=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:(1)有且仅有一个特定的称为根(Root)的结点;(2)其余的结点可分为m(m>=0)个互不相交的子集T1,T2,T3…Tm,其中每个子集又是一棵树,并称其为子树(Subtree)。图7.1树的层次结构树结构中的一些基本概念和常用术语结点:包含一个数据元素及若干指向其它结点的分支信息。结点的度:一个结点的子树个数称为此结点

3、的度。树的度:树中所有结点的度的最大值。叶结点:度为0的结点,即无后继的结点,也称为终端结点。分支结点:度不为0的结点,也称为非终端结点。除根结点外的分支结点统称为内部结点。结点的高度:从该结点到各叶结点的最长路径的长度。树的高度是指根结点的高度。路径(道路):若存在树中的一个结点序列k1,k2,……,kj,使得结点ki是结点ki+1的父结点,则称该结点序列是树中从结点k1到kj的一条路径。路径长度:该路径所经过的边(即连接两个结点的线段)的数目。祖先结点:一个结点的祖先结点是指从根结点到该结点的路径上的所有结点。在图7.1中,结点F的祖先是A、B、F。子孙结点:一个结点的直接后继和间接

4、后继称为该结点的子孙结点。在图7.1中,结点F的子孙是F、I、J。注意:任一结点既是它自己的祖先也是它自己的子孙。真祖先、真子孙:树中一个结点的非自身祖先和子孙分别称为该结点的真祖先和真子孙。兄弟结点:同一双亲结点的孩子结点之间互称兄弟结点。在图7.1中,结点F的兄弟是E。结点的深度或层数:从根结点开始定义,根结点的层次为0,其余结点的深度为其父结点的深度加1,如根的直接后继的层次为1,依此类推。有序树:在树T中,如果将树中结点的各子树看成从左至右是有次序的,则称该树为有序树,否则称为无序树。在有序树中最左边的子树的根称为第一个孩子(最左儿子或简称为左儿子),最右边的称为最后一个孩子(最右

5、儿子或简称为右儿子)。森林是m(m>=0)棵互不相交的树的集合。如果我们删去一棵树的树根,留下的子树就构成了一个森林。当我们删去的是一棵有序树的树根时,留下的子树也是有序的,这些树组成一个树表。在这种情况下,称这些树组成的森林为有序森林或果园。7.2树的遍历定义:按某条搜索路径巡访树中的每一个结点,使得每一个结点均被访问一次,而且仅被访问一次。遍历方式:前序遍历中序遍历后序遍历三种遍历方式的定义:(1)若T是一棵空树,对T进行三种遍历操作都是空操作;(2)若T是一棵单结点树,对T进行三种遍历操作都只访问单结点;否则,设以n为树根,树根的子树从左到右依次是T1,T2,……,TK,那么对T进行

6、前序遍历是先访问树根n,然后依次前序遍历T1,T2,……,TK。对T进行中序遍历是先中序遍历T1,然后访问树根n,接着依次对T2,……,TK进行中序遍历。对T进行后序遍历是先依次对T1,T2,……,TK进行后序遍历,最后访问树根n。nT1TKT2……图7.2树T例如,对图7.1进行前序遍历、中序遍历和后序遍历的结果分别为:前序:ABEFIJCDGH中序:EBIFJACGDH后序:EIJFBCGHDA练习:写出下图所示的树,其先序、中序、后序遍历的序列。解答:先序遍历:A、B、D、F、G、C、E、H。中序遍历:B、F、D、G、A、C、E、H。后序遍历:F、G、D、B、H、E、C、A。非

7、递归方式产生三种遍历的序列:从树根出发,依逆时针方向沿树的外缘绕行,若按第一次经过的时间次序将各个结点列出,就可以得到前序列表;若按最后一次经过的时间次序将各个结点列出,就可以得到后序列表;若将叶结点按第一次经过时列出,而内部结点在第2次经过时列出,就可以得到中序列表;AB111111111222222223333先序序列:ABDEHICF后序序列:DHIEBFGCA中序序列:DBHEIAFCG例:最早提出遍历问题是对存

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。