数据结构完全二叉树性质
完全二叉树
若二叉树左子树高度-右子树高度小于等于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个结点的二叉树的高度至少为log2n+1\log_2n+1log2n+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容易证明。
数据结构完全二叉树性质相关推荐
- 北邮:完全二叉树性质
题目描述 有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY.该树是完全二叉树. 输入描述: 输入有多组数据. 每组输入一个n(1<=n<=1000),然后将树中的这n ...
- 数据结构 - 完全二叉树
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 完全二叉 ...
- 常见数据结构——完全二叉树(定义、特征、节点个数的判断以及C++简单实现)
完全二叉树 完全二叉树 1.定义 2.特征 3.C++简单实现完全二叉树的节点个数 完全二叉树 1.定义 完全二叉树是由满二叉树而引出来的,若设二叉树的深度为h,除第 h 层外,其它各层 (1-h-1 ...
- 数据结构:完全二叉树开胃菜小练习
目录 一.前言 二.完全二叉树的重要结构特点 三.完全二叉树开胃菜小练习 1.一个重要的数学结论 2.简单的小练习 一.前言 关于树及完全二叉树的基础概念(及树结点编号规则)参见:http://t.c ...
- 高级数据结构讲解与案例分析
然而,仅仅掌握好它们不足以应付大厂的算法面试的.为了达到对时间和空间复杂度的理想要求,本节课探究高级数据结构,它们的实现要比那些常用的数据结构要复杂得多.其中重点介绍: 优先队列 图 前缀树 线段树 ...
- [译文] 初学者应该了解的数据结构: Tree
原文链接:Tree Data Structures for Beginners 众成翻译地址:初学者应该了解的数据结构: Tree 系列文章,建议不了解树的同学慢慢阅读一下这篇文章,希望对你有所帮助~ ...
- 王道408数据结构——第五章 树与二叉树
文章目录 一.树的基本概念 树的性质 二.二叉树 满二叉树 完全二叉树 二叉排序树 平衡二叉树 二叉树的性质 完全二叉树的性质 三.二叉树的储存结构 顺序储存 链式存储 四.树的储存方式 双亲表示法 ...
- 小顶堆数据结构C/C++代码实现
相比队列和栈,很多人可能对堆的概念比较陌生,下面个给出堆的本质概念 一.堆也是一种数据结构,从实际应用意义来说,他是一种最优级别数据永远在第一位的队列,本文皆以最小值为例(小顶堆),即它变相是一种会永 ...
- 【从蛋壳到满天飞】JS 数据结构解析和算法实现-堆和优先队列(一)
前言 [从蛋壳到满天飞]JS 数据结构解析和算法实现,全部文章大概的内容如下: Arrays(数组).Stacks(栈).Queues(队列).LinkedList(链表).Recursion(递归思 ...
最新文章
- gin context和官方context_gin 源码阅读(二) 路由和路由组
- cmake (3)多个源文件示例
- 网络编程1之计算机网络及参考模型、域名、服务器
- 【渝粤教育】广东开放大学 嵌入式数据库 形成性考核 (48)
- SVN创建不了资源库位置 解决方案
- 在.net中序列化读写xml方法的总结(转载)
- SQL Server 2008 SP1
- WebConfig主要节点配置总结
- webpack配置信息说明
- Redis 锁的实现方案
- 《集异璧》作者侯世达:王维、杨绛与机器翻译的本质
- C语言编程方法技巧,C语言编程小技巧分享
- 11部委印发《智能汽车创新发展战略》,加快智能汽车应用北斗高精度时空基准服务
- python风变编程是骗局吗-请问风变编程的Python课怎么样?
- 如何在Excel 2013中使用公式编辑器
- 通过安卓手机,获取微信小程序包进行反编译方法
- 尝试从redis未授权访问到getshell的四种姿势(失败)
- 物理像素,设备独立像素等等收录链接
- 考研英语二语法知识点
- 2020-03-31 获取微信好友真实地址
热门文章
- java车辆保险平台系统研究与设计计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
- 将【mui 搜索列表插件 picker-search】修改为对数据库中数据进行模糊搜索
- Js实现简单的计时器功能
- ufo帧率测试网站_技嘉雪鹰3080 VISION OC性能测试
- python特效集合_python 集合操作方法详解
- python实现图形界面设计+数据库(pyodbc)教材征订系统
- 部分 测试用例设计思路 测试点 了解下
- 【Verilog-19.3】define和undef的用法
- 架设域控服务器,windows server 2008 R2 enterprise AD域控服务器安装
- 前端Vue3.0搭建后台管理系统