第六章 树和二叉树课件.pptVIP

  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文档。上传文档
查看更多
第六章 树和二叉树 数据结构: 线性结构(线性表, 栈,队列等) 非线性结构: 至少存在一个数据元素有不止一个直接前驱或后继(树,图等) 第六章 树和二叉树 §6.1 树的定义 树是n个数据元素的有限集(记为T),对任意一棵树T有: ⒈ 存在唯一一个称为根 的数据元素; ⒉ 当n>1时,其它数据元素可分为m(m>0) 个互不相交的有限集T1,T2,…,Tm,其中每个集合Ti(i=1,2,…,m)本身又是一棵树,并称树 Ti是根的子树. 第六章 树和二叉树 树的表示法 1. 分支图表示法 2. 嵌套集合表示法 第六章 树和二叉树 树的基本术语 1. 树的结点:包含一个DE和指向其子树的所有分支; 2. 结点的度:一个结点拥有的子树的个数,度为零的结点称为叶结点; 3. 树的度:树中所有结点的度的最大值Max(D(I)) 含义:树中最大分支数为树的度; 4. 结点的层次及树的深度:根为第一层,根的孩子为第二层,若某结点为第k层,则其孩子为k+1层. 树中结点的最大层次称为树的深度或高度 5.森林:是m(m=0)棵互不相的树的集合 森林与树概念相近,相互很容易转换. 第六章 树和二叉树 §6.2 树的基本运算 ⒈ 初始化操作INITIATE(T):创建一棵空树。 ⒉ 求根函数ROOT(T):求树T的根;ROOT(X):求结点x所在树的根。 ⒊ 求双亲函数PARENT(T,x):在树T中求x的双亲。 ⒋ 求第i个孩子函数CHILD(T,x,i):在树T中求结点x的第i个孩子。 ⒌ 求兄弟函数:在T中求x的左兄弟LSIBLING(T,x);在树T中求x的右兄弟RSIBLING(T,x)。 第六章 树和二叉树 ⒍ 建树函数CRT-TREE(x,F):建立以结点x为根,森林F为子树的树。 ⒎ 插入子树操作INS-CHILD(y,i,x):将x作为y的第i根子树。 ⒏ 删除子树操作DEL-CHILD(x,i):删除x的第i棵子树。 ⒐ 遍历树操作TRAVERSE(T):按顺序访问树T中各个结点。 ⒑ 置空树操作CLEAR(T):将树T置为空树。 第六章 树和二叉树 §6.3 二叉树概念及性质 一. 二叉树概念 二叉树是结点数为0或每个结点最多只有左右两棵子树的树。二叉树是一种特殊的树,它的特点是: ⑴每个结点最多只有两棵子树,即不存结点度大于2的结点; ⑵子树有左右之分,不能颠倒。 6.3 二叉树 二. 二叉树性质 性质1. 在二叉树的第i层上至多有2i-1个结点(i≥1)。 性质2. 深度为k的二叉树至多有2k-1个结点(k≥)。 (深度一定,二叉树的最大结点数也确定) 性质3. 二叉树中,终端结点数n0与度为2的结点数n2有如下关系: n0=n2+1 6.3 二叉树 满二叉树:深度为k,且有2k-1个结点的二叉树。 特点:(1)每一层上结点数都达到最大 (2)度为1的结点n1=0 结点层序编号方法:从根结点起从上到下逐层(层内从左到右)对二叉树的结点进行连续编号。 6.3 二叉树 完全二叉树:深度为k,结点数为n的二叉树,当且仅当每个结点的编号都与相同深度的满二叉树中从1到n的结点一一对应时,称为完全二叉树。 6.3 二叉树 完全二叉树的特点: (1)每个结点i的左子树的深度Lhi-其结点i的右子树的深度Rhi等于0或1,即叶结点只可能出现在层次最大或次最大的两层上。 (2)完全二叉树结点数n满足2k-1-1<n≤2k-1 (3)满二叉树一定是完全二叉树,反之不成立。 6.3 二叉树 6.3 二叉树 性质4. 结点数为n的完全二叉树,其深度为 └log2n┘ + 1 6.3 二叉树 性质5. 在按层序编号的n个结点的完全二叉树中,任意一结点i(1≤i≤n)有: ⑴ i=1时,结点i是树的根;否则(i1),结点i的双亲为结点└i/2┘。 ⑵ 2i>n时,结点i无左孩子,为叶结点;否则,结点i的左孩子为结点2i。 ⑶ 2i+1>n时,结点i无右孩子;否则,结点i的右孩子为结点2i+1。 6.3 二叉树 6.3 二叉树 这种存储结构适合于完全二叉树,既不浪费存储空间,又能很快确定结点的存放位置、以及结点的双亲和左右孩子的存放位置,但对一般二叉树,可能造成存储空间的浪费。 6.3 二叉树 例如,深度为k,且只有k个结点的右单枝树(每个非叶结点只有右孩子),需2k-1个单元,即有2k-1-k个单元被浪费。 6.3 二叉树 ⒉ 链式存储结构 设计不同的结点结构,可以构成不同的链式存储结构。常用的有: 二叉链表 三叉链表 线索链表 用空链域存放指向前驱或后继的线索

文档评论(0)

shenland + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档