数据结构2015版严.pdf

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

树的度:3
B
叶子:K,L,F,G,M,I,J
结点I的双亲:D
A
结点L的双亲:E
结点B,C,D为兄弟
C
D 结点K,L为兄弟
结点A的层次:1 E
结点M的层次:4
F GH I
KL
M
图6.2 树的基本术语示例
树的深度:4
J
结点F,G为堂兄弟 结点A是结点F,G的祖先
树和二叉树
6.1 树的定义和基本术语
6.1.3 树的抽象数据类型
● 特点: 1)树中至少有一个结点——根。 2)树中各子树是互不相交的集合。
注1:树的定义具有递归性,即“树中还有树”。
树和二叉树
6.1 树的定义和基本术语
6.1.1 树的定义
只有根结点的树 A
有子树的树
A

B
C
ຫໍສະໝຸດ Baidu
D
E
F GH I J
KL
M
(a) 只有根结点的树
图6.1 树的示例
(b) 一般的树
6.2 二叉树
树和二叉树
6.2.1 二叉树的定义
● 定义: 二叉树是n(n0)个结点的有限集,它或为空树
(n=0),或由一个根结点和两棵分别称为左子树和 右子树的互不相交的二叉树构成。 ● 特点:
1)每个结点至多有二棵子树(即不存在度大于2 的结点)。 2)二叉树的子树有左、右之分,且其次序不能 任意颠倒。
树和二叉树
( A ( B ( E ( K, L ), F ), C ( G ), D ( H ( M ), I, J ) ) 约定: 根作为由子树森林组成的表的名字写在表的左边
凹入表示法
又称目录表示法
树和二叉树
树结点的结构:
树和二叉树
data link 1 link 2 ...
...
link n
后序遍历的递归与应用,知道树形结构的若干应用。
●学习重点: 1)二叉树的性质与存储结构; 2)二叉树的遍历算法。
树和二叉树
6.1 树的定义和基本术语
● 树的定义
树的逻辑结构——它定义一类重要的非线性结构。树结 构在计算机科学的很多领域都得到了广泛的应用。
树结构可应用于诸如 编译程序中表示源程序的语法结构 数据库系统中的信息组织 文件目录 电路分析 社会各个组织和管理机构 家谱 书的章节编目 军队编制
树和二叉树
6.1 树的定义和基本术语
6.1.2 树的基本术语
• 结点(node)——表示树中的元素,包括数据项及若干指向其 子树的分支
• 结点的度(degree)——结点拥有的子树数 • 叶子(leaf)——度为0的结点 • 孩子(child)——结点子树的根称为该结点的孩子 • 双亲(parents)——孩子结点的上层结点叫该结点的~ • 兄弟(sibling)——同一双亲的孩子 • 树的度——一棵树中最大的结点度数(Max{各结点的度}) • 结点的层次(level)——从根结点算起,根为第一层,它的孩
6.2 二叉树
6.2.1 二叉树的定义 ● 基本形态:二叉树有5种基本形态。
树和二叉树
A
A
A
A
空二叉树
只有根结点 的二叉树
B
右子树为空
B
B
C
左子树为空
左、右子树 均非空
图6.3 树的5种基本形态
6.2 二叉树
树和二叉树
6.2.2 二叉树的性质
性质1:在二叉树的第i层上至多有2i-1个结点(i≥1)。
树和二叉树
6.1.4 树的几种表示方法
图形表示法 嵌套集合表示法 广义表表示法 凹入表示法 左孩子-右兄弟表示法
图形表示法
湖北师范学院
树和二叉树

电信系 教师 学生
计算机系 自控系 ……
……
其他人员
2001级 2002级 2003级 2004级
子树
叶子
嵌套集合表示法
树和二叉树
广义表表示法
树型结构是结点之间有分支、层次关系的结构,它非常 类似于自然界中的树。树型结构在客观世界中大量存在。
树和二叉树
6.1 树的定义和基本术语
6.1.1 树的定义
● 定义:
树(tree)是n(n>0)个结点的有限集T,其中: 1)有且仅有一个特定的结点,称为树的根(root) 2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集 T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根 的子树(subtree)。
数据集合: 树的结点集合,每个结点由数据元素和构造数 据元素之间关系的指针组成。 操作集合:
(1)创建树 CreateTree(T) (2)撤消树 DestroyTree(&T)
(3)查找树中当前结点的双亲结点 Parent(T,curr) (4)查找树中当前结点的左孩子结点 LeftChild(T,curr) (5)查找树中当前结点的右孩子结点 RightSibling(T,curr) (6)遍历树 Traverse(T,Visit( ))
树和二叉树
第6章 树和二叉树
计算机科学与技术学院 主讲:孙玉霞
树和二叉树
目 录
6.1 树的定义和基本术语 6.2 二叉树 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.6 赫夫曼树及其应用
树和二叉树
●基本要求: 1)理解并准确叙述树、二叉树、森林及其有关概念并
熟悉它们的基本性质; 2)熟悉树形结构的存储结构和中序线索二叉树; 3)熟悉树的遍历方法,尤其是二叉树的前序、中序和
[证]用归纳法。
1)i=1,只有一个根结点。2i-1=20=1。正确。
2)设命题对j成立,即有第j层上至多有2j-1个结 点。由于二叉树每个结点的度至多为2,故第i层上最 大结点数是第i-1层的2倍,即2j-1.2=2j=2(j+1)-1。故命 题对j+1亦成立。
证毕。
6.2 二叉树
子为第二层…… • 深度(depth)——树中结点的最大层次数(Max{各结点的层次}) • 森林(forest)——m(m0)棵互不相交的树的集合
树和二叉树
6.1 树的定义和基本术语
6.1.2 树的基本术语
结点A的度:3 结点B的度:2 结点M的度:0
结点A的孩子:B,C,D 结点B的孩子:E,F
困惑:构造树的结点时 应当开多少个链域?
左孩子-右兄弟表示法
树和二叉树
data 左孩子 右兄弟
A
B
C
D
E
F
G
HI
J
K
L
M
多叉树转为 了二叉树
6.2 二叉树
树和二叉树
为何要重点研究结点最多只有两个 “叉” 的树?
● 二叉树的结构最简单,规律性最强; ● 可以证明,所有树都能转为唯一对应的二叉树, 不失一般性。
相关文档
最新文档