第06讲树第06讲树.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构与算法(Java+C)第06讲 树和二叉树基本内容 树的基本概念二叉树的定义二叉树的遍历树和森林哈夫曼树及其应用回顾线形结构树形结构 根节点 (无前驱) 叶子节点 (无后继) 其它数据元素(一个前驱、多个后继)第一个数据元素 (无前驱)最后一个数据元素 (无后继)其它数据元素(一个前驱、一个后继)祖父伯父父亲叔叔堂兄兄我弟堂弟我的电脑C:\My documentsWindowsD:\树的基本概念树的定义采用了递归定义的方法,即在树的定义中又用到树的概念1.树的定义树(tree)是由n(n≥0)个有限数据元素组成的数据集合,其中数据元素被称为结点。同时,树还必须满足以下两个条件:在树中有一个特殊的结点被称为根结点,它只有后继结点,没有前驱结点。除根结点以外,其余结点可以分为m(m≥0)个互不相交的集合T1,T2,…,Tm,其中每一个集合Ti(1≤i≤m)本身又是一棵树。树T1,T2,…,Tm称为根结点的子树ACBHGFEDJI树的基本概念树的表示法 树的表示有多种,如:树形表示法,文氏图表示法、凹入表表示法、嵌套括号表达法等,一般我们常用的是树形表示法。第一层第二层第三层第四层ABCDEFGHI树的基本概念2.基本术语1)双亲结点、子结点、兄弟结点 如图中,B结点为E结点的双亲结点; A结点为D结点的双亲结点;D结点为I结点的双亲结点 如图中,E结点为B结点的子结点;D结点为A结点的子结点;H结点为D结点的子结点 如图中,B结点和C、D结点互为兄弟结点;结点G和H不为兄弟结点。2)叶子结点 没有后继的结点称为叶子结点,如图6.2中的E、F、G、H、I结点。ABCDEFGHI树的基本概念3)结点的度 结点的度是结点所拥有的子树的棵数。如图中,A结点的度为3;C结点的度为1;H结点的度为0;4)树的度 树的度是指树中各个结点度的最大值。如图中,由于A结点的度为3,其余结点的度都小于3,所以图中树的度为3。5)结点的层次 约定根结点的层次为1,其余结点的层次都是在其双亲结点层次上加1。如图中,B结点的双亲结点为根结点A,根结点A的层次为1,所以B结点的层次为2;同理,E结点与F结点的层次是相同的,都为3。BCDEFGHI树的基本概念6)树的高度(或深度) 树的高度是指树中结点的最大层次数。如图中,由于结点E、F、G、H、I的层次数都为3,其余结点的层次数都小于3,所以图中树的高度为3。7)森林 森林是m(m≥0)棵互不相交的树的集合。如下图即为一个森林。8)有序树和无序树——树中结点的各子树从左到右是有次序的(即不能互换位置),称这样的树为有序树;否则称为无序树树的基本性质性质1 树中的节点数等于所有节点度数加1 (除了根节点之外,每个节点有且只有一个前驱节点,除根节点之外的节点数等于所有节点的分支数(度数))性质2度为K的树中第i层上至多有K i-1 个节点(K1)课堂练习已知一棵树的边集合如下,请画出此树,并回答问题。 {(L,M),(L,N),(E,L),(B,E),(B,D),(A,B),(G,J),(G,K),(C,G),(C,F),(H,I),(C,H),(A,C)}(1)哪些是根结点?(2)哪些是叶子结点?(3)G的双亲是哪些?(4)哪些是G的孩子?(5)哪些是E的兄弟?(6)结点B和N的层次各是多少?(7)树的深度是多少?(8)树的度是多少? 二叉树1.二叉树的定义 二叉树(binary tree)是n(n≥0)个结点组成的有限集合,二叉树是有限个结点的集合,它或者是空,或者是由一个根结点加上两棵分别称为左子树和右子树、互不相交的二叉树组成。2.特点:每个结点最多只有两个孩子结点,即结点的度不大于2。子树有左右之别,子树的次序(位置)不能颠倒。二叉树的定义和特点二叉树的五种基本形态空树只有根结点的树根的左右子树都不空根的右子 树为空根的左子树为空课堂练习请画出含有3个结点的树和二叉树的基本形态。二叉树的性质性质1 在二叉树的第i层上,至多有2 i-1 个节点性质2 高度,为h的二叉树,至多有2h-1个节点 一棵非空二叉树的第一层有1个结点,第二层最多有2个结点,第三层最多有4个结点……,利用归纳法即可证明第i层上最多有2i–1个结点。证明:根据性质1,当深度为h的二叉树每一层都达到最多结点数时,它的和(n)最大,即: ∴ 命题正确。 二叉树的性质证明:(1)设n为二叉树的结点总数,则有: N=n0+n1+n2 (5-1)(2)再看二叉树中的分支数,除根结点外,其余结点都有一个进入分支,设B为二叉树中的分支总数,则有: N=B+1。(3)由于这些分支都是由度为1和2的结点发出的,所以有: B=n1+2*n2?N=B+1=n1+2×n2+1??????(5

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档