1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 树 第 6 章 树和二叉树 知 识 点 二叉树及二叉树的存储结构 二叉树的遍历 树的基本概念 哈夫曼树 难 点 二叉树遍历算法的设计 修改二叉树遍历算法,进行二叉树其它相关的操作,解决实际应用问题 第 6 章 树和二叉树 要 求 熟练掌握以下内容: 理解树形结构的基本概念和术语 二叉树定义和存储结构 二叉树的遍历次序及二叉树遍历算法 了解以下内容: 树和二叉树之间的相互转换方法 线索二叉树的建立及遍历算法 树的应用:哈夫曼树 第 6 章 树和二叉树 6.1 树的定义和基本术语 6.2 二叉树 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.5 赫夫曼树及其应用 6.1 树的定义和基本术语 6.1.1 树的定义 树是n个结点的有限集合T,在一棵非空树中(n0)有且仅有一个称作根的结点;其余结点可分为m个(m≥0)互不相交的集合T1,T2……Tm,其中,每一个集合本身又是一棵树,并称为根的子树。 当n=0时,称为空树。 有限集合T1,T2……Tm应该“互不相交”,即任意两个集合不能有相重的结点。 树的各个结点有不同层次关系,这种关系通常用图形表示,但与自然界的树木相反,习惯上将整棵树的根画在最上层。树的结构参见图6-1。 6.1.2 基本术语 1.结点: 树的结点包含一个数据元素及若干指向其子树的分支 2.结点的度:树中每个结点具有的子树数或者后继结点数称为该结点的度(Degree)。度数为0的结点,即没有子树的结点叫作终端结点或叶子结点。除叶子结点外的所有结点,为分支结点,也叫非终端结点。(度不为0的结点) 一棵树中各个结点度数的最大值叫做这个树的度。 3. 孩子结点和双亲结点:一个结点的子树的根或者后继结点称为该结点的孩子结点,反之,该结点则称为其后继结点的双亲结点。 4. 兄弟结点:同一个结点的孩子结点之间互称为兄弟结点。 5. 子孙结点和祖先结点:一个结点的子树中所有结点均称之为该结点的子孙结点。反之,从根结点到达一个结点的路径上的所有结点,都叫做该结点的祖先结点。 6. 树的深度:树是一种层次结构,树中结点的层次(Level)是从根结点算起的。根结点为第一层,其儿子结点为第二层。其余各结点的层数逐层由上而下计算。一棵树中结点的最大层数叫做此树的深度或高度。 7.有序树 若一棵树中所有子树从左到右的排序是有顺序的,不能颠倒次序。称该树为有序树。 8. 无序树 若一棵树中所有子树的次序无关紧要,则称为无序树。 9. 森林:若干棵互不相交的树组成的集合为森林。一棵树可以看成是一个特殊的森林。 树形结构的逻辑特征 树形结构的逻辑特征可用树中结点之间的父子关系来描述: 树中任一结点都可以有零个或多个直接后继结点(即儿子结点),但至多只能有一个直接前趋结点(即父亲结点)。 树中只有根结点无前趋,它是开始结点; 叶结点无后继,它们是终端结点。 树形结构是非线性结构。 6.2 二叉树 6.2.1 二叉树的定义 6.2.2 二叉树的性质 6.2.3 二叉树的存储结构 6.2.1 二叉树的定义 ?? 和树结构定义类似,二叉树的定义也可以递归形式给出: 二叉树是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵不相交的左子树和右子树组成。 ???? 二叉树的特点是每个结点最多有两个孩子,或者说,在二叉树中不存在度大于2的结点,并且二叉树是有序树(树为无序树),其子树的顺序不能颠倒。因此,二叉树有五种不同的形态。 二叉树的五种基本形态 6.2.2 二叉树的性质 性质1 若二叉树的层数从1开始,则二叉树的第i层结点数,最多为2i-1个(i≥1)。 性质2 深度(高度)为k的二叉树最大结点数为2k-1(k≥1)。 证明:最大结点个数=20+21+22+……+2k-1 =2k-1 性质3 对任意一棵二叉树,如果叶子结点个数为n0,度为2的结点个数为n2,则有n0=n2+1。 证明:设n0,n1和n2分别为二叉树中度为0,度为1和度为2的结点个数,则二叉树中总的结点个数n满足: n=n0+n1+n2 ① 再有除了根结点之外,每个结点都由一个分支射入,则分支数B与总的结点数之间的关系为: n=B+1 ② 另外,由于这些分支是由度为1或2的结点射出的,则有 B=n1+2n2  ③ 则由上三式得: n0=n2+1 满二叉树 在一个二叉树中,若第i层的结点数为2i-1,则称此层的结点数是满的,当树中的每一层都是满的,则称此二叉树为满二叉

文档评论(0)

9885fp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档