数据结构第七章 树和二叉树

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章 树和二叉树
14
➢ 括号表示法(广义表表示法):将树的 根结点写在括号的左边,除根结点之外 的其余结点写在括号中并用逗号间隔。
第七章 树和二叉树
15
A
B
C
D
E F GH I J
KL
M
A(B(E(K,L),F),C(G),D(H(M),I,J)) (b) 广义表形式
第七章 树和二叉树
16
7.1.3 树的基本术语
R={<A,B>,<A,C>,<A,D>,<B,E>,<B,F>,<C,G>, <D,H>,<D,I>,<D,J>,<E,K>,<E,L,>,<H,M>}
第七章 树和二叉树
10
➢ 文氏图表示法(嵌套集合):(即是一 些集合的集团,对于其中任何两个集合, 或者不相交,或者一个包含一个)的形 式表示的。
第七章 树和二叉树
11
A
A
B
C
D
EB
HD
E F G H I J KL F
MJ I
C
KL
M
G
第七章 树和二叉树
12
➢ 凹入表示法:分等级的分类方案都可用 层次结构来表示。使用线段的伸缩关系 描述树结构。
第七章 树和二叉树
13
A
B
C
D
E F GH I J
KL
M
A B E K L F C G D H M I J
➢ 树的深度(Depth):树中所有结点的层 次的最大值称为该树的深度,空树的深 度规定为0。
第七章 树和二叉树
21
➢ 有序树:如果一棵树中任意一个结点的 各个子树从左到右都是有次序的,即若 交换了某结点各子树的相对位置则构成 不同的树,这棵树称为有序树。
➢ 无序树:不是有序树的树称之为无序树。
➢ 森林(Forest):是m(m≥0)棵互不相交的树 的集合。对树中每个结点而言,其子树 的集合即为森林。
第七章 树和二叉树
源自文库
22
思考分析
A
B
C
D
E F GH I J
KL
M
第七章 树和二叉树
23
7.1.4 树的性质
➢ 性质1 树中的结点数等于所有结点的度数 加1。
➢ 性质2 度为m的树中第i层上至多有mi-1个 结点,这里应有i≥1。
➢ 性质3
高度为h的m次树至多有
mh 1 m 1
个结
点。
➢ 性质4 具有n个结点的m次树的最小高度为
第七章 树和二叉树
19
➢ 子孙结点:某一结点的所有孩子结点, 以及这些孩子结点的孩子结点称为该结 点子孙结点。
➢ 祖先结点:从根结点到树中某结点所经 过的所有分支结点称为该结点的祖先结 点。
➢ 兄弟结点(Sibling):具有相同的双亲结点 的结点互相称之为兄弟结点。
第七章 树和二叉树
20
➢ 结点的层次(Level):从根结点到树中某 结点所经路径上的分支数称为该结点的 层次,其中根结点为第一层。
① 当树T为空树时D=Ф;
② 当数T不为空树时有D={Root} ∪DF, 其 中Root为树T的根结点, DF为树T的根 Root的子树集合, DF可由下式表示:
第七章 树和二叉树
8
DF =D1 ∪ D2 ∪ … ∪ Dm (1≤i,j≤m,Di∩Dj=Ф)
当树T中结点个数n≤1时,R=Ф;当 树T中结点个数n>1时有
① 有且仅有一个结点k0∈D,对于关系R 来说没有前驱结点,结点k0称作树的根 节点。
第七章 树和二叉树
3
② 除根结点k0外,D中的每个结点有且仅 有一个前驱结点,但可以有多个后继结 点。
③ D中可以有多个终端结点。
第七章 树和二叉树
4
树的递归定义
➢ 由n(n≥0)个有限结点构成的集合。n=0的 树称为空树;对n>0的树T有:
R={<Root, ri>,i=1,2,…,n-1}
其中:Root是树T的非终端结点, ri是结点Root的子树Ti的根结点,<Root, ri >表示了结点Root和结点ri的父子关系。
第七章 树和二叉树
9
A
B
C
D
E F GH I J
KL
M
D={A,B,C,D,E,F,G,H,I,J,K,L,M}
M
(c)
第七章 树和二叉树
6
7.1.2 树的逻辑表示方法
➢ 树形表示法:使用一棵倒置的树表示树 结构,直观描述树的逻辑结构。
A
B
C
D
E F GH I J
KL
M
第七章 树和二叉树
7
➢ 树的形式化表示法:主要用于树的理 论描述。树的形式化表示法定义树T为 T-(D,R),其中D为树T中结点的集合, R为树T中结点之间关系的集合。
7.1 树的基本概念
第七章 树和二叉树
1
线性结构:在数据结构中每个结点
都只有一个直接前驱或直接后继的

结点。


构 非线性结构:在数据结构中至少存
在一个具有两个或两个以上直接前
驱或直接后继的结点。
第七章 树和二叉树
2
7.1.1 树的定义
➢ 树(Tree):由n(n≥0)个有限结点构成 的集合。n=0的树称为空树;对n>0的 树T(D,R)有:其中,D为树中结点 的有限集合,关系R满足以下条件
➢ 结点(Node):在树中通常把数据元素和构 造数据元素之间关系的指针合起来称作 结点。
➢ 结点的度(Degree):结点所拥有的子树的 个数或者后继结点数称为该结点的度。
➢ 树的度:树中所有结点的度的最大值称 为该树的度。度为m的树称为m次树。
第七章 树和二叉树
17
➢ 叶结点(leaf):度为0的结点称为叶结点, 叶结点也称作终端结点。
logm(n(m-1)+1)。
第七章 树和二叉树
24
例7.1 含n个结点的三次树的最小高度是多少? 最大高度是多少?
解:设含n个结点的(为完全三次树时高度最 小)的三次树的最小高度为h,则有:
1+3+9+…+3h-2<n≤1+3+9+…+3h-1 (3h-1-1)/2 <n≤ (3h-1)/2 3h-1<2n+1≤3h 即:h= log3(2n+1)
(1)有一个特殊的结点称为根结点,根 结点没有前驱结点;
(2)当n>1时,除根结点外其他结点被 分成m(m>0)个互不相交的集合 T1,T2,…,Tm。其中,每一个集合 Ti(1≤i≤m)本身又是一棵称为根结点的 子树的树。
第七章 树和二叉树
5
A
(空树)
A
B
C
D
(a)
(b)
E F GH I J
KL
➢ 分支结点:度不为0的结点称为分支结点, 分支结点也称作非终端结点。(一棵树 中除叶结点外的所有结点都是分支结 点)。
第七章 树和二叉树
18
➢ 孩子结点(Child):树中一个结点的子树 的根结点或者树中一个结点的后继结点 称作这个结点的孩子结点,也称作后继 结点。
➢ 双亲结点:若树中某结点有孩子结点, 则该结点就称作他的孩子结点的双亲结 点。
相关文档
最新文档