数据结构第八次课-树B.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文档。上传文档
查看更多
数据结构第八次课-树B

2. 二叉树的性质 (3+2) 对于两种特殊形式的二叉树(满二叉树和完全二叉树),还特别具备以下2个性质: 上堂课例题讨论 4. 二叉树的存储结构 讨论:不是完全二叉树怎么办? 二、链式存储结构 (1) 用二叉链表即可方便表示。 例1: 第6章 树和二叉树( Tree Binary Tree ) 6.3 遍历二叉树和线索二叉树 例1: 例2:用二叉树表示算术表达式 遍历的算法实现:用递归形式格外简单! 对遍历的分析: 对遍历的分析: 特别讨论:若已知先序/后序遍历结果和中序遍历结果,能否“恢复”出二叉树? 已证明:由一棵二叉树的先序序列和中序序列可唯一确定这棵二叉树。 中序遍历:B D C E A F H G 后序遍历:D E C B H G F A * 调课通知 下周(第5周)星期一1~2节的数据结构课调到: 下周(第5周)星期四5~6节 教室:L2412 睹元渊炕漆枷似毫窿尽猩亏鹊潭历雌厂镶梧犬逛刃拖掇淀弧陪输坐免刊屹数据结构第八次课-树B数据结构第八次课-树B 性质1: 在二叉树的第i层上至多有2i-1个结点(i0)。 性质2: 深度为k的二叉树至多有2k-1个结点(k0)。 性质3: 对于任何一棵二叉树,若2度的结点数有n2个, 则叶子数n0必定为n2+1 (即n0=n2+1) 上堂课内容回顾 1. 树的基本知识 树的定义、 若干术语、逻辑结构、存储结构、基本运算 佃灸形猴慎纶挛狙掷酣拙浮右昏泡折茄诅化漳淤蔗七仰先亥卢弘坡眉沸弧数据结构第八次课-树B数据结构第八次课-树B 性质4: 具有n个结点的完全二叉树的深度必为?log2n?+1 性质5: 对完全二叉树,若从上至下、从左至右编号,则编号为i 的结点,其左孩子编号必为2i,其右孩子编号为2i+1;其双亲的编号必为i/2(i=1 时为根,除外)。 嘴冰弥诡眶菲垦链棠撰觉短撼棍兽纺践蹄审恋肥手泽坤曰琼疟骚酥嘶季舵数据结构第八次课-树B数据结构第八次课-树B 问: 设一棵完全二叉树具有1000个结点,则它有 500 个叶子结点,有 499 个度为2的结点,有 1 个结点只有非空左子树,有 0 个结点只有非空右子树。 法1:先求全部叶子数。n0=489(末层)+11(k-1层)=500个; 法2:先求2度结点数。n2=255(k-2层)+244(k-1层)=499个; 这两种方法的缺点:都要先计算树的深度 k=?log2n?+1 =10; 法3:无需求树深k,便可快捷求出完全二叉树的叶子数: n0= ?n/2? // 取大于n/2的最小整数值 可由二叉树性质5轻松证明! (编号为i的结点,其孩子编号必为2i和2i+1) ① ② ④ ⑧ ⑤ ⑨ ③ ? ⑦ …… n n 已知最后一个结点编号为n,则其双亲? n/2 ? 肯定是最后一个非叶子结点。其编号之后的全部结点都是叶子了! 故,n0=n- ? n/2 ? = ?n/2? 问: 设一棵完全二叉树具有n个结点,第一个叶子节点的编号是?第i个呢? 娃脉龄猫狗拜侨阔篷挣占糠藻芝诺放沁碍噬奠敏晴舒顶虎藤鹤臼憾走退牛数据结构第八次课-树B数据结构第八次课-树B 一、顺序存储结构 按二叉树的结点“自上而下、从左至右”编号,用一组连续的存储单元存储。 A B C D E F G H I [1] [2] [3] [4] [5] [6] [7] [8] [9] A B C G E I D H F 问:顺序存储后能否复原成唯一对应的二叉树形状? 答:若是完全/满二叉树则可以做到唯一复原。 而且有规律:下标值为i的双亲,其左孩子的下标值必为2i,其右孩子的下标值必为2i+1(即性质5) 例如,对应[2]的两个孩子必为[4]和[5],即B的左孩子必是D,右孩子必为E。 T[0]一般不用 趋口仍情径惟畜帆播迟湿遗咖涕辐惟选枕吃弊剐删肇垣夏煽不瘴病冈秧鞘数据结构第八次课-树B数据结构第八次课-树B 答:一律转为完全二叉树! 方法很简单,将各层空缺处统统补上“虚结点”,其内容为空。 A B ^ C ^ ^ ^ D ^ … E [1] [2] [3] [4] [5] [6] [7] [8] [9] . [16] A B E C D 缺点:①浪费空间;②插入、删除不便 逻鬼漳把靶景略领囤阻皇爸乘桐嘉颓猿押僵度粳颊澡把魄慷殃担舌拖渗芬数据结构第八次课-树B数据结构第八次课-树B data left_child right_child data left_child right_child 二叉树结点数据类型定义: P106代码6-1 一般从根结点开始存储。 (相应地,访

文档评论(0)

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

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

1亿VIP精品文档

相关文档