武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树

武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树

ID:6650913

大小:172.50 KB

页数:7页

时间:2018-01-21

武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树_第1页
武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树_第2页
武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树_第3页
武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树_第4页
武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树_第5页
资源描述:

《武汉软件工程职业学院《数据结构讲义》第12讲 树和2叉树》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第四章树第十二讲树和二叉树1.掌握树、二叉树的基本概念和术语,。2.掌握二叉树的性质。3.理解二叉树的存储结构4.熟悉建立二叉树的二叉链表的算法。Ø教学重点:二叉树的定义、二叉树的性质Ø教学难点:二叉树的性质Ø授课内容4.1树的定义和基本术语前面讨论线性结构的表示及其应用实例。然而,线性结构在许多实际应用中不能明确、方便地表示数据元素之间的复杂关系。树型结构是一种应用十分广泛的非线性结构,其中以二叉树最为常用,它是以分支定义的层次结构。树型结构在客观世界中广泛存在,如家族的家谱、各种社会组织机构,一般都可以用树来形象地表示。在计算机领域中,

2、编译系统中源程序的语法结构、数据库系统中信息的组织形式也用到树形结构。本章重点讨论二叉树的存储结构、各种操作及其应用实例。4.1.1树的定义1.定义树(tree)是由n(n>0)个结点组成的有限集合T且满足以下条件。1)有且仅有一个特定的结点被称为该树的根(Root)。2)除根结点之外的其余结点可分为m(m>0)个互不相交的集合T1,T2,...,Tm,且其中每个集合又是一棵树,并称之为根的子树(Subtree)。这是一个递归的定义,即在定义中又用到了树的概念,这也反映了树的固有特性。图4-1-1是两棵树的示例。(a)是只有一个根结点A的树

3、。(b)是一棵由11个结点组成的树T,其中A是根结点,其余结点分为三个互不相交的子集:T1={B,E,F,G,K},T2={C,H},T3={D,I,J}。T1,T2,T3也都是树,且是根A的子树,这三棵子树的根结点分别为B、C、D,每棵子树还可以继续划分。第四章树KBDATT1T2CT3DT3AEFGHIJ(a)(b)图4-1-1树的示例【例4.1】树结构和非树结构的举例AAAACDCBDCBBCBFEDEGFEDFGGFEIH(a)一棵树结构(b)一个非树结构(c)一个非树结构(d)一个非树结构图4-1-1(b)所示的树,还可以用图4-

4、1-2所示的方法表示。ABFGKIDJCH(a)集合包含关系文氏图法法法(A(B(E,F,G(K))),C(H),D(I,J)(b)广义表法)(b)广义表法(c)凹入法ABCDEFGKHIJ树的基本术语树的结点树的结点包含一个数据元素及若干个指向其子树的分支。第四章树结点的度和树的度结点的度是结点的子树的个数。树的度是树中结点度的最大值。例如图4-1-1(b)中,结点A和B的度为3,结点D的度为2;而树T的度为3。叶子和分支结点度为零的结点称为叶子或终端结点。度不为零的结点称为分支结点或非终端结点。图4-1-1(b)中,结点E、F、H、K、

5、I、J是叶子结点,结点B、C、D、G是分支结点。孩子、双亲及兄弟结点某结点的各子树的根称为该结点的孩子,而该结点称为孩子的双亲。具有相同双亲的结点互称为兄弟。图4-1-1(b)中,A是结点B、C、D的双亲,B、C、D均是结点A的孩子,B、C、D互为兄弟。此外,一棵树上除根结点以外的其他结点称为根的子孙,而根结点是其子孙的祖先。结点的层次和树的深度结点的层次值从根算起,根的层次值为1,其余结点的层次值为双亲结点层次值加1;树中结点的最大层次值称为树的深度或高度。图4-1-1(b)中,结点A、B、E、K的层次值分别为1、2、3、4。树T的深度为

6、4。此外,双亲在同一层的结点互称为堂兄弟,如G和H互为堂兄弟。4.2二叉树4.2.1二叉树的定义二叉树是N(N≥0)个结点的有限集合。它或为空树(N=0),或由一个根结点和两个分别称为左子树和右子树的互不相交的子树构成。这个定义是递归的。图4-2-1中展现五种基本形态不同的二叉树。应特别注意,二叉树种左子树和右子树是严格区分的,图4-2-1(c)与(d)是两棵不同的二叉树。图4-2-1二叉树的五种基本形态ø(a)空二叉树(b)仅有根结点(c)右子树为空的二叉树(d)左子树为空的二叉树(e)左右子树均非空的二叉树二叉树的重要性质性质1二叉树i

7、(i≥1)层上至多有2i-1个结点。有图4-2-2(a)可知,根结点在第1层上,这层结点数最多为1个,即20个;显然第2层上最多有2个结点,即21第四章树个;……;假设第i-1层结点最多有2i-2个,且每个结点最多有两个孩子,那么第i层上结点最多有2×2i-2=2i-1个。性质2深度为k(k≥1)的二叉树至多有2k-1个结点。根据性质1,显然深度为k的二叉树的结点总数至多为:性质3在任意二叉树中,若叶子结点(即度为零的结点)个数为n0,度为1的结点数为n1,度为2的结点个数为n2,那么有:n0=n2+1。设n代表二叉树结点总数,那么n=n0

8、+n1+n2(4.2.1)由于有n个结点的二叉树总分支数为n-1条,于是得n-1=0×n0+1×n1+2×n2(4.2.2)将式(4.2.1)代入式(4.2.2),得n0=n2+

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

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

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