二叉树—相关结构

1.相关的结构问题(分治递归)

1.1节点个数

1.2叶子结点个数

叶子结点:没有孩子的节点

1.3树的高度(深度)

1.4二叉树第k层的节点个数

1.5二叉树查找值为x的节点

2.二叉树的创建和销毁

2.1二叉树的构建

二叉树遍历_牛客题霸_牛客网

2.2二叉树的销毁

二叉树的销毁我们要用后序遍历的方式来实现,左子树、右子树、根。

3.判断二叉树是否为完全二叉树

简单回顾一下完全二叉树:前k-1层的节点都是满的,最后一层可满可不满,最后一层的节点的顺序必须是从左往右,如果最后一层也是满的话就是满二叉树,满二叉树也是一种完全二叉树。

这里的判断方法我用的是队列,利用队列的先进先出原则,一层一层的遍历,根不为空就进队列,它的左右子树(无论是空还是非空)都push进队列,记录然后pop,遇到空就开始判断,然后开始从队头记录出数据,出到第一空看队列里是否有非空,有就不是完全二叉树,反之就是完全二叉树。

4.二叉树小知识点

对于任何的一棵二叉树,度不大于2,节点的个数为N:

度为0的节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2,之间的关系公式为:

n0 + n1 + n2 = N -》 n0 = n2 + 1 -》 2n0 + n1 - 1 = N

相关推荐
Felven10 分钟前
B. Make Almost Equal With Mod
数据结构·算法
脆皮炸鸡75511 分钟前
Linux~~基础IO
linux·运维·服务器·经验分享·算法·学习方法
踩坑记录14 分钟前
leetcode hot100 416. 分割等和子集 medium 动态规划 01背包 DFS深度优先搜索
leetcode·深度优先·动态规划
colofullove16 分钟前
文本分块策略与预处理
算法
三毛的二哥17 分钟前
BEV:感知抖动问题及解决办法
人工智能·算法·计算机视觉
AI科技星18 分钟前
宇宙终极几何:莫比乌斯光速螺旋统一理论-精细结构常数α本源结构
算法·机器学习·数学建模·数据挖掘·量子计算
数智化精益手记局26 分钟前
拆解红牌作战的步骤:掌握红牌作战的步骤,解决现场管理难题
大数据·数据结构·人工智能·制造·精益工程
喜欢吃燃面29 分钟前
Linux 信号保存机制深度解析:从内核数据结构到进程状态管理
linux·运维·数据结构·学习
Via_Neo31 分钟前
区间dp算法
开发语言·javascript·算法
amcomputer32 分钟前
简单总结拉格朗日乘数法
算法