完全二叉树

若二叉树左子树高度-右子树高度小于等于1且大于等于0则称该二叉树为完全二叉树。
二叉树一般性质:
性质1:二叉树第i层上的结点数目最多为2i−1(i≥1)2^{i-1}(i \geq 1)2i−1(i≥1)

性质2:深度为k的二叉树至多有2k−1(k≥1)2^{k-1}(k \geq 1)2k−1(k≥1)个结点

性质3:包含n个结点的二叉树的高度至少为log⁡2n+1\log_2n+1log2​n+1

性质4:在任意一棵二叉树中,若叶子结点的个数为n0n_0n0​,度为2的结点数为n2n_2n2​,则n0=n2+1n_0=n_2+1n0​=n2​+1
性质4推导:
易知结点总数n=n0+n1+n2n=n_0+n_1+n_2n=n0​+n1​+n2​,根据二叉树的度之和(边数量)=n-1,可得n−1=n0∗0+n1∗1+n2∗2n-1=n_0*0+n_1*1+n_2*2n−1=n0​∗0+n1​∗1+n2​∗2。
联合上面两个公式即可得到性质4
完全二叉树性质:
性质1:度为1的结点仅有1个或0个(叶子节点尽可能往左排)
性质2:叶子结点个数=n2=\frac{n}{2}=2n​或=n+12=\frac{n+1}{2}=2n+1​(n为奇数)
利用n=n0+n1+n2n=n_0+n_1+n_2n=n0​+n1​+n2​与n0=n2+1n_0=n_2+1n0​=n2​+1与性质1容易证明。

数据结构完全二叉树性质相关推荐

  1. 北邮:完全二叉树性质

    题目描述 有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY.该树是完全二叉树. 输入描述: 输入有多组数据. 每组输入一个n(1<=n<=1000),然后将树中的这n ...

  2. 数据结构 - 完全二叉树

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 完全二叉 ...

  3. 常见数据结构——完全二叉树(定义、特征、节点个数的判断以及C++简单实现)

    完全二叉树 完全二叉树 1.定义 2.特征 3.C++简单实现完全二叉树的节点个数 完全二叉树 1.定义 完全二叉树是由满二叉树而引出来的,若设二叉树的深度为h,除第 h 层外,其它各层 (1-h-1 ...

  4. 数据结构:完全二叉树开胃菜小练习

    目录 一.前言 二.完全二叉树的重要结构特点 三.完全二叉树开胃菜小练习 1.一个重要的数学结论 2.简单的小练习 一.前言 关于树及完全二叉树的基础概念(及树结点编号规则)参见:http://t.c ...

  5. 高级数据结构讲解与案例分析

    然而,仅仅掌握好它们不足以应付大厂的算法面试的.为了达到对时间和空间复杂度的理想要求,本节课探究高级数据结构,它们的实现要比那些常用的数据结构要复杂得多.其中重点介绍: 优先队列 图 前缀树 线段树 ...

  6. [译文] 初学者应该了解的数据结构: Tree

    原文链接:Tree Data Structures for Beginners 众成翻译地址:初学者应该了解的数据结构: Tree 系列文章,建议不了解树的同学慢慢阅读一下这篇文章,希望对你有所帮助~ ...

  7. 王道408数据结构——第五章 树与二叉树

    文章目录 一.树的基本概念 树的性质 二.二叉树 满二叉树 完全二叉树 二叉排序树 平衡二叉树 二叉树的性质 完全二叉树的性质 三.二叉树的储存结构 顺序储存 链式存储 四.树的储存方式 双亲表示法 ...

  8. 小顶堆数据结构C/C++代码实现

    相比队列和栈,很多人可能对堆的概念比较陌生,下面个给出堆的本质概念 一.堆也是一种数据结构,从实际应用意义来说,他是一种最优级别数据永远在第一位的队列,本文皆以最小值为例(小顶堆),即它变相是一种会永 ...

  9. 【从蛋壳到满天飞】JS 数据结构解析和算法实现-堆和优先队列(一)

    前言 [从蛋壳到满天飞]JS 数据结构解析和算法实现,全部文章大概的内容如下: Arrays(数组).Stacks(栈).Queues(队列).LinkedList(链表).Recursion(递归思 ...

最新文章

  1. gin context和官方context_gin 源码阅读(二) 路由和路由组
  2. cmake (3)多个源文件示例
  3. 网络编程1之计算机网络及参考模型、域名、服务器
  4. 【渝粤教育】广东开放大学 嵌入式数据库 形成性考核 (48)
  5. SVN创建不了资源库位置 解决方案
  6. 在.net中序列化读写xml方法的总结(转载)
  7. SQL Server 2008 SP1
  8. WebConfig主要节点配置总结
  9. webpack配置信息说明
  10. Redis 锁的实现方案
  11. 《集异璧》作者侯世达:王维、杨绛与机器翻译的本质
  12. C语言编程方法技巧,C语言编程小技巧分享
  13. 11部委印发《智能汽车创新发展战略》,加快智能汽车应用北斗高精度时空基准服务
  14. python风变编程是骗局吗-请问风变编程的Python课怎么样?
  15. 如何在Excel 2013中使用公式编辑器
  16. 通过安卓手机,获取微信小程序包进行反编译方法
  17. 尝试从redis未授权访问到getshell的四种姿势(失败)
  18. 物理像素,设备独立像素等等收录链接
  19. 考研英语二语法知识点
  20. 2020-03-31 获取微信好友真实地址

热门文章

  1. java车辆保险平台系统研究与设计计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  2. 将【mui 搜索列表插件 picker-search】修改为对数据库中数据进行模糊搜索
  3. Js实现简单的计时器功能
  4. ufo帧率测试网站_技嘉雪鹰3080 VISION OC性能测试
  5. python特效集合_python 集合操作方法详解
  6. python实现图形界面设计+数据库(pyodbc)教材征订系统
  7. 部分 测试用例设计思路 测试点 了解下
  8. 【Verilog-19.3】define和undef的用法
  9. 架设域控服务器,windows server 2008 R2 enterprise AD域控服务器安装
  10. 前端Vue3.0搭建后台管理系统