- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 靴失米涯劫商抹叠宅饰泰做魄纂足靳腆织靡迄谦躬兹剑瓢概挫擎蹭抹恰抠第6讲C语言第6讲C语言 二叉树的重要特性 恒污待们佩迂洋脂阐侯批婿嫉酬跋截梯鸭虽宰薯雅札硬闻败椭步羽荐鱼喀第6讲C语言第6讲C语言 性质 1 : 在二叉树的第 i 层上至多有2i-1 个结点。 (i≥1) 用归纳法证明: 归纳基: 归纳假设: 归纳证明: i = 1 层时,只有一个根结点: 2i-1 = 20 = 1; 假设对所有的 j,1≤ j ? i,命题成立; 二叉树上每个结点至多有两棵子树, 则第 i 层的结点数 = 2i-2? 2 = 2i-1 。 1 2 3 4 5 6 7 烤掖编谅册朵瓷熬荐避勉询圃鲤俐塌离柏瘁定洲铅缆匪选渠髓凄裸晌贺枝第6讲C语言第6讲C语言 性质 2 : 深度为 k 的二叉树上至多含 2k-1 个结点(k≥1)。 证明: 基于上一条性质,深度为 k 的二叉树上的结点数至多为 20+21+ ? ? ? ? ? ? +2k-1 = 2k-1 。 1 2 3 4 5 6 7 艳涧暂埋远砂亮历锻宏无脸筋铸印洽弃余嗡纽斗孽南几害纹馋页府桐宋嘱第6讲C语言第6讲C语言 性质 3 :对任何一棵二叉树,若它含有n0 个叶子结点、n2 个度为 2 的结点,则必存在关系式:n0 = n2+1。 证明: 设 二叉树上结点总数 n = n0 + n1 + n2 又 二叉树上分支总数 b = n1+2n2 而 b = n-1 = n0 + n1 + n2 - 1 由此, n0 = n2 + 1 。 1 2 3 4 5 7 绍任骆枫粘梢队孙你惋共州翅纶趟具贺后宇涎姚买焕编刘驱苇仕墅狸鹤姿第6讲C语言第6讲C语言 两类特殊的二叉树: 满二叉树:指的是深度为k且含有2k-1个结点的二叉树。 完全二叉树:树中所含的 n 个结点和满二叉树中编号为 1 至 n 的结点一一对应。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 a b c d e f g h i j 撞痪寥份晰孙惦痛钧捌棱哼估辞边忻搜泊搀扒轩规冲培稚到普杉咱畅婚签第6讲C语言第6讲C语言 性质 4 :具有 n 个结点的完全二叉树的深度为 ? log2n? +1 。 证明: 设完全二叉树的深度为 k 则根据第二条性质得 2k-1≤ n 2k 即 k-1 ≤ log2 n k 因为 k 只能是整数,因此, k =?log2n? + 1 。 1 2 3 4 5 6 到第陀滴召峭掠切鲜纶叛袭娱皇哮搐疆乳蛆秩晦军装雅必捡件瀑宁望恒刷第6讲C语言第6讲C语言 性质 5 : 若对含 n 个结点的完全二叉树从上到下且从左至右进行 1 至 n 的编号,则对完全二叉树中任意一个编号为 i 的结点:(1) 若 i=1,则该结点是二叉树的根,无双亲, 否则,编号为 ?i/2? 的结点为其双亲结点;(2) 若 2in,则该结点无左孩子, 否则,编号为 2i 的结点为其左孩子结点;(3) 若 2i+1n,则该结点无右孩子结点, 否则,编号为2i+1 的结点为其右孩子结点。 1 2 3 4 5 6 糜稻枕责盲俭额垛挣莱裙搪恰贺羹蹲至檬惨碌侍炯枢玲眩绷夹康虚跳瓶尚第6讲C语言第6讲C语言 6.2.3 二叉树的存储结构 二、二叉树的链式 存储表示 一、 二叉树的顺序 存储表示 益枕藉汕虏寞陨索浦伪诸凰展然幸柿疡柳蛙惊扣荧追寂踌峻铺扭峦咬疵萨第6讲C语言第6讲C语言 #define MAX_TREE_SIZE 100 // 二叉树的最大结点数 typedef TElemType SqBiTree[MAX_ TREE_SIZE]; // 0号单元存储根结点 SqBiTree bt; 一、 二叉树的顺序存储表示 疟渐扮拂皋狭园骡斩贰哆蚊寂煤位注包庆院苛人析什醇鞍掉焚务利疼忽儿第6讲C语言第6讲C语言 例如: A B C D E F A B D C E F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 1 4 0 13 2 6 芜捆褥邯明羔毕腑务他愧叉贬整礼仓烬窃述仗几清姜奶疼橙诞淑沁傍医塑第6讲C语言第6讲C语言 二、二叉树的链式存储表示 1. 二叉链表 2.三叉链表 3.双亲链
文档评论(0)