第六章 树与森林 树的基本概念二叉树 (binary ree)线索化二叉树 (hreaded binary ree)木树与森林 (ree fores)压缩与哈夫曼树 (huffman ree).pptVIP

  • 4
  • 0
  • 约1.11万字
  • 约 10页
  • 2019-03-09 发布于福建
  • 举报

第六章 树与森林 树的基本概念二叉树 (binary ree)线索化二叉树 (hreaded binary ree)木树与森林 (ree fores)压缩与哈夫曼树 (huffman ree).ppt

第六章树与森林树的基本概念二叉树(binaryree)线索化二叉树(hreadedbinaryree)木树与森林(ree

树的基本概念 二叉树 (Binary Tree) 线索化二叉树 (Threaded Binary Tree) 树与森林 (Tree Forest) 压缩与哈夫曼树 (Huffman Tree)  树结构在客观世界中是大量存在的,例如家谱、行政组织机构都可用树形象地表示。  树在计算机领域中也有着广泛的应用,例如在编译程序中,用树来表示源程序的语法结构;在数据库系统中,可用树来组织信息;在分析算法的行为时,可用树来描述其执行过程。 [政府机构] 下图是联邦政府各分支机构的层次图。在最顶层是整个联邦政府。层次结构的下一级,是其主要的隶属单位(例如不同的部)。每个部可进一步细分。这些分支在层次结构的下一级画出。例如,国防部分成陆军、海军、空军和海军陆战队。在每个机构及其分支机构间都有一条边。图中数据即为整体-部分关系的例子。 联邦政府模型 6.1 基本概念 6.2 二叉树 6.3 线索二叉树 6.4 树和森林 6.5 压缩与哈夫曼树 定义6.1 树(t r e e) 树是由唯一的起始结点“根结点”( r o o t)出发的结点集合,其中,任何非根结点都有且仅有一个前趋结点,称之为该结点的父结点;任何结点都可能有多个后继结点,称之为该结点的子结点;若某结点没有后继结点,则称之为叶子结点。若存在路径vm-vm+1-…-vn,其中vi+1是vi的后继结点,则称vn为vm的子孙结点,称vm为vn的祖先结点,该路径所经历的边的个数被称为路径的长度。一个结点到它的某个子孙结点有且仅有一条路径。 定义6.2 从根结点到某个结点的路径长度被称为结点的层数。树的高度是指树中结点的最大层数。 对于根结点的层数,目前有两种规定,一种规定根结点的层数为0,另一种规定根结点的层数为1,本书采纳前者。 非根结点的层数 = 其父结点的层数 + 1 图6.1为一棵由根结点A出发的树,其中,A有三个子结点B、C和D(换句话说,A是B、C和D的父结点);B有一个子结点E;E有一个子结点F;C有两个子结点G和H;D有一个子结点I; F,G,H,I是叶子结点,因为它们没有子结点。 从A到F的路径为A-B-E-F,路径长度为3。 若断掉一个结点与其父结点的连接,把该结点和它的子孙们单独拿出,就是一棵以该结点为根结点的树,我们称之为“子树”。图6.2中的(A)、(B)、(C)均是图6.1所示树的子树。 与线性结构的比较 线性结构 树结构 第一个数据元素 根结点 (无前驱) (无前驱) 最后一个数据元素 多个叶子结点 (无后继) (无后继) 其它数据元素 树中其它结点 (一个前驱、一个后继) (一个前驱、多个后继) 兄弟(sibling)结点 祖先(ancestor)结点 子孙(descendant)结点 结点所处层次(level) 树的高度(depth) 兄弟(sibling)结点 祖先(ancestor)结点 子孙(descendant)结点 结点所处层次(level) 树的高度(depth)   树的表示 1.集合嵌套表示法 2.凹入表示法 3.广义表表示法 4.树形表示法 树的基本操作 1、判树空:TREEEMPTY(T) 2、求根:ROOT(T) 3、求树的深度:TREEDEPTH(T) 4、 求兄弟结点:同一双亲的孩子互称 5、求结点的双亲:PARENT(T) 6、求结点的孩子:CHILD(T,e,i) 7、建立树:CREATE_TREE(T, T1 , T2 , … , Tm ) 8、遍历树:TRAVERSAL(T) 6.2 二叉树 (Binary Tree) 6.2.1 二叉树的主要性质和定义 1 定义 ● 定义:二叉树是结点的有限集合,它必须满足 下面的一个条件: (1)它是空集。 (2)它由一个根结点,根结点的左右子树构 成,且其左右子树满足二叉树定义。 ● 二叉树的特征 (1) 二叉树每个结点最多有2个子结点; (2) 二叉树的子树有左右之分。 二叉树的五种不同形态 二叉树的性质 引理6.1 二叉树中层数为i的结点至多有2i个,i≧0。 证明:用数学归纳法。 当 i=0 时,仅有一个根结点,其层数为0,因此i=0 时引理成立。 假定当 i=j (j≥0)时,引理成立,即第 j 层上至多有2j个结点。 对于二叉树的任意结点,其子结点个数最大为2,故第j+1层上至多有 2*2j= 2j+1 个结点,因此当 i=j+1时,引理成立。 由数

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档