[树] 二叉树的复习

Prerequisites


等比数列前n项求和
  1. <a href=http://baike.baidu.com/link?url=Q6x4OJn-CpvvLpZospWan8uWSQEUmPY-06G7E-nSlYjY9HfHFJV2xxfD4-2tb6koTXt177MOljgYRV6daMuZ3q>log运算法则</a>

满二叉树 vs 完全二叉树


  • 深度为k的满二叉树的节点总数:
    2^0 + 2^1 + 2^2 + ... + 2 ^(k-1) = 2^k - 1
  • 完全二叉树(除最后一层的右边一些节点缺失外,其余的每层节点数均为最大).
  • 满二叉树的节点总数:
树高 节点总数
1 1
2 3
3 7
k 2^k - 1
  • exam 01 随手搜到的一个题目帮助理解。
    解析见<a href= "http://www.zybang.com/question/5f55865c4c1c01b67857f9708e29f65b.html">这里</a>
一个完全二叉树共有699个节点,则该二叉树的叶子节点数目是: B
  A. 349     B.350     C.255    D.351
  • exam 02
完全二叉树有2*n-1 的节点,则它的叶子节点数为?(这题完全跟上面一样)

答案为n.
设树高为k,最后一层节点数目为m。 则该树的节点总数2^(k-1) - 1 + m = 2n-1 >> 2^(k-1) + m = 2n >>2^(k-1)/2 + m/2 = n
该树的叶子节点总数为m + 2^(k-2) - m/2 = 2^(k-1)/2 + m/2 = n.
疑问 - exam 02反之也成立吗?

  • exam 03
完全二叉树有n个叶子节点,则它的节点总数为?

答案确实可以,按上面的思路设一个树高k,设最后一层点的数目m,最后确实可以化简为只与n相关的节点总数(2n-1)。

  • exam 04
    04.1 给定一完全二叉树root,求其节点总数.
    04.2 给定一二叉树root,判断其是否为完全二叉树.
  • exam 05
    对于普通二叉树,给定2个节点Node0,Node1,求这个两个节点的距离.所谓的距离即连接这俩节点的边数.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定...
    Jack921阅读 4,701评论 1 31
  • 1 序 2016年6月25日夜,帝都,天下着大雨,拖着行李箱和同学在校门口照了最后一张合照,搬离寝室打车去了提前租...
    RichardJieChen阅读 5,362评论 0 12
  • 二叉树 满二叉树 国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,...
    简_爱SimpleLove阅读 4,388评论 0 3
  • 什么是”树“ 树(tree)是包含n(n>0)个结点的有穷集,其中:(1)每个元素称为结点(node)(2)有一个...
    Neo_joke阅读 1,284评论 1 5
  • 文艺汇演开始了。我只记得第一个节目是《春天的故事》。然后我们的美哪里去了?是第几个上场的?好像我的记忆到此完全卡壳...
    古阳阅读 268评论 0 1

友情链接更多精彩内容