数据结构之树课件PPT.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构之树课件PPT

数据结构;第六章 树;要 求 熟练掌握以下内容: 理解树形结构的基本概念和术语 二叉树定义和存储结构 二叉树的遍历次序及二叉树遍历算法 了解以下内容: 树和二叉树之间的相互转换方法 线索二叉树的建立及遍历算法 树的应用:二叉排序树和哈夫曼树;第6章 树;6.1 树的定义; 树的基本术语;4. 儿子结点和父亲结点:一个结点的子树的根或者后继结点称为该结点的儿子结点,反之,该结点则称为其后继结点的父亲结点。 5. 兄弟结点:同一个结点的儿子结点之间互称为兄弟结点。;6. 子孙结点和祖先结点:一个结点的子树中所有结点均称之为该结点的子孙结点。反之,从根结点到达一个结点的路径上的所有结点,都叫做该结点的祖先结点。 7. 树的深度:树是一种层次结构,树中结点的层次(Level)是从根结点算起的。根结点为第一层,其儿子结点为第二层。其余各结点的层数逐层由上而下计算。一棵树中结点的最大层数叫做此树的深度或高度。 8. 森林:n个树的集合叫森林(Forest)。;树形结构的逻辑特征;树的基本操作;5. TNULL(T) 判断树T是否为空树 6. DEPTH(T) 求树T的深度 7. INSERT(T, x) 结点的插入 8. DELETE(T, x) 结点的删除 9. VISIT(T) 树的遍历;6.2 二叉树的定义及其性质;图6.2 二叉树的基本形态;二叉树的基本术语. 二叉树的基本操作 ;二叉树的性质 性质1. 在二叉树第 k 层上至多有2k-1个结 点。 性质2. 深度为 k 的二叉树至多有2k -1个结 点。(k=1) . ;性质3. 对任一二叉树BT,若其末端结点数为n0,度为2的结点数为n2,则 n0=n2+1 证: 设二叉树有n个结点, 度为1的结点数为n1, 则 n = n0+n1+n2 ; 另一方面, 度为1的结点有1个儿子, 度为2的结点有2个儿子, 故二叉树中儿子总数(除根结点外)为 n1+2*n2, 所以二叉树的结点总数又可表示成 n=n1+2*n2+1 所以 n0=n2+1 ; 满二叉树;满二叉树的第一层有一个结点(即根结点),第二层有两个结点,依此类推。每一层的结点数都是上一层结点数的二倍。所以,在满二叉树的第i层共有2i-1个结点(i≥1),一个深度为k的满二叉树的结点总数为2k–1. ;图6.3 满二叉树; 完全二叉树;性质4. 一棵具有n个结点的完全二叉树的深度为 ?log2n? +1 证:由定义知: 2k-1-1n≤ 2k-1 即 2k-1 ≤n 2k 取对数 k-1≤logn k 由 k-1≤logn 可知: k≤logn+1 即k≤ ?log2n? +1 有 logn k可知, k≥ ?log2n? +1 所以 k= ?log2n? +1 ;对于完全二叉树,对其结点采用“按层编号”比较方便,即从根结点开始由上而下逐层给结点编号,同一层的结点由左向右编号。 性质5. 把一棵n的结点的完全二叉树, 按层编号, 则编号为 i 的结点满足: 1) 如果i=1,则它是整个树的根结点,无父结点;若i1,则其父结点编号为 ?i/2? 。 2) 如果2i≤n,则其左儿子结点编号为2i;若2in,则无左儿子结点。 3) 如果(2i+1)≤n,则其右儿子结点编号为(2i+1);反之,则无右儿子结点。 例:;二叉树的存储结构 1. 二叉树的顺序存储结构: 对于满二叉树和完全二叉树来说,可以采用“以编号为地址”的方法,将编号为i的结点存入一维数组的第i个单元。 图6.3所示的完全二叉树按此方法存入数组中如下图6.4所示。;图6.4 二叉树的顺序存储结构;图6.5 非完全二叉树的顺序表示 ;图6.5中的二叉树,采用顺序存储结构时,一维数组的21单元中只用上了7个。 ;2. 二叉树的链式存储结构: 由二叉树的定义可知:其结点由信息部分和指向其左右儿子的指针组成,因此可把二叉树的结点定义成:信息域,左指针域,右指针域。 也可以增加一个指向父亲的指针,如下: 图6。5可表示成: ;;结点定义;6.3 二叉树的遍历;一个非空的二叉树由根结点及左、右子树这三个

文档评论(0)

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

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

1亿VIP精品文档

相关文档