第六章 树

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)每个结点最多只有两棵子树(以出度作为树结点的度,则二 叉树不存在出度大于2的结点); (2)左子树和右子树次序不能颠倒。下图是两棵不同的树
• 正则二叉树 每个内点都恰有两个儿子的二叉树称为正则二叉树(或称 满二叉树)。
例6.2 判断图6-11(a),(b),(c)是否满二叉树?
图 6-11(a)
(a)
(b)
(c)
(d)
一个连通有回路的图(如图6-2)通过删边去掉回路,成为 树,如图6-3,图6-4。
图 6-2
图 6-3
图 6-4
• 树中结点数与边数的关系 定理 在(n,m)树中必有n=m+1。
• 树的特性
(1)一个无向图是树当且仅当在它的每对结点之间存在唯一的通路; (2)树是边数最多的无回路图,树是边数最少的连通图; (3)带有n个结点的树(称为n阶树)含有n-1条边,且所有结点的度 之和为2(n-1)。
规定二叉排序树中的每个结点的左子树中所有结点的关键字值都小 于该结点的关键字值,而右子树中所有结点的关键字值都大于该结 点的关键字值。计算机使用中大部分用来排序和查找各种各样的信 息,排序和查找是数据处理中常见运算。
例6.3 下图中的二叉树,哪些是二叉排序树
例6.4 构造关键码集合 {red,green,yellow,white,black,grey,pink,purple,blue}二叉排序 树,说出查找关键字pink的过程。
6.1.3 二叉树
• 有序树、无序树
树根树的每个内点的儿子都规定次序,则把此根树称为有序树。不 考虑内点儿子的次序,此根树称为无序树。
• 二叉树定义
设T是一棵有序树,若T的每个内 点至多有两个子结点(儿子), 则称T为二叉树。二叉树的子树 有左子树和右子树之分,其次序 不能交换。
• 二叉树基本特征
red
green
black
grey
pink blue
yellow white
purple
课堂练习6.1.3
1、判断图两个二叉树是否相同
6.1.4 决策树
设有一棵根树,如果其每个分支点都会提出一个问题, 从根开始,每回答一个问题,走相应的边,最后到达一 个叶结点,即获得一个决策,这样的根树称为决策树 (Decision Tree)。
• 根树的模型 (1)表示组织机构:一个虚拟大学的行政结构图
(2)表示计算机的文件结构
(3)wenku.baidu.com族树
有一位生物学家在研究家族遗传问题时, 采用了“树”形来描述家族成员的遗传 关系。家族树用结点表示家族成员,用 边表示亲子关系。如某家族祖宗a,有三 个儿子b,c,d,b生了两个儿子e,f,d生 了两个儿子g,h,e有三个儿子,i,j,k, g有两个儿子l,m,j生了一个儿子n,这 种家属关系用根树表示。如右图
画根树时,把树根画在图的顶端,边的方向向下,形成一棵倒挂的树。
家属关系的相关术语我们引用到根树中来表示结点之间的关系。 (1)在根树中,若u可达v且长度大于或等于2,则称u是v的祖先,v 是u的后代;若<u,v>是根树中的一条有向边,则称u是v的父亲,v是 u的儿子;同一结点的儿子结点称为兄弟;父亲在同一层的结点称为 堂兄弟。 (2)在根树中,从树根到任意结点u经过的边数称为结点u的层数, 层数最大的结点的层数称为树高。
课堂练习6.1.1
1、设一棵树有两个结点度为2,一个结点度为3,三个结点度为4,其余 结点度1,求它有几个结点度为1? 2、一棵树有6片树叶,3个2度结点,其余结点度数为4,求这棵树所含的 边数。
6.1.2 根树
• 根树
指定一个结点作为根并且每条边的方向都离开根的树, 即仅一个结点的入度为0,其余结点的入度为1的有向图 称为根树(root)。入度为0的结点称为树根,出度为0的 结点称为树叶,出度不为0的结点称为分支点(内点)。
6.1树的概念与类型
6.1.1 树的相关概念
• 树的定义
连通无回路的无向图,称为无向树,简称树(Tree),用T表示。T中度为 1的结点称为树叶,度大于1的结点称为分支点或内点,每个连通分图 都是树的非连通图称为森林。
例6.1 图(a)、(b)是树,因为它们连通又不包含回路。图(c)、(d)均不 是树,图(c)虽无回路,但不连通,而图(d)虽连通,但有回路。图(c) 是森林。
课堂练习6.1.2
1、树T如图 ,指定b作根,画出所形成的根树, 回答下列问题
(1)哪些结点是树叶? (2)哪些结点是内点? (3)a的祖先、a的父亲是哪个结点? (4)e有没有兄弟,儿子? (5)树高是多少?
2、在组织机构根树中以下术语分别表示什么内容? (1)一个结点的父亲; (2)一个结点的儿子; (3)一个结点的兄弟; (4)一个结点的祖先; (5)一个结点的后代; (6)一个结点的层数; (7)树的高度。
下面我们用决策树表示算法,并使得在最坏情形下花费 时间最少。
例6.5 现有5枚外观一样的硬币,只有1枚硬币与其它 的重量不同。问如何使用一架天平来判别哪枚硬币是坏 的,重还是轻?
学习目标
6.1节 理解树的基本概念、树的模型
6.2节 掌握最小连接算法,会使用 Kruskal算法和Prim算法求最小生成树。
6.3节 理解并掌握数据挖掘中决策树算法
树是图论中应用最广泛、最重要的子类之一。1847年,Gustav Kirchhoff(古斯塔夫•基尔霍夫,1824-1887)研究电网络时发现 了图论的新应用,在有关电网的著作中首次使用了树。后来Arthur Cayley(亚瑟•凯雷,1821-1895)在有机化学领域重新发展了树, 用树去计数某些类型的化合物。现在,计算机科学广泛采用了树的 概念。比如,在数据库系统中用树来组织信息,在编绎程序中用树 表示源程序的语法结构,数据结构中树的存储,数据挖掘中的决策 树等,在最优化问题的求解中树也起着重要作用。
图 6-11(b)
图 6-11(c)
例 6.3 代数树在编译程序中处理算术表达式时常用到,其中运算符处于分支点位置,运算
对象(数值或字母)处于树叶位置。代数表达式 a b d (e f ) 用二叉树表示。如图 6-12
c
g
• 二叉排序树
各数据元素在二叉树中按一定次序排列,这样的二叉树称为二叉排 序树。
相关文档
最新文档