二叉树的性质和完全二叉树的性质

二叉树的性质:

  1. 在二叉树的第i层至多有 2 i + 1 ( i > = 1 ) 2^{i+1}(i>=1) 2i+1(i>=1)

  2. 深度为k的二叉树最多有 2 k − 1 2^k-1 2k−1个结点

  3. 对于任意一棵二叉树T,如果其终端结点数为 n 0 n_0 n0,度为2的结点数为 n 2 n_2 n2,则 n 0 = n 2 + 1 n_0=n_2+1 n0=n2+1

    证明:

    除了根结点,其他所有结点的脑袋上都有一根线,所以 l = n − 1 l = n -1 l=n−1

    而二叉树中结点有度为1的结点(叶子结点),度为1的结点,度为2的结点,度代表屁股下面有几条线,所以就有 l = 0 ∗ n 0 + 1 ∗ n 1 + 2 ∗ n 2 l = 0*n_0+1*n_1+2*n_2 l=0∗n0+1∗n1+2∗n2, n = n 0 + n 1 + n 2 n = n_0+n_1+n_2 n=n0+n1+n2

    三条方程解得: n 0 = n 2 + 1 n_0=n_2+1 n0=n2+1

完全二叉树的性质:

  1. 具有 n n n个结点的完全二叉树的深度为 l o g 2 n + 1 ( x 表示不大于 x 的最大整数 ) log_2n+1(x表示不大于x的最大整数) log2n+1(x表示不大于x的最大整数)

  2. 对于任意一个结点 ( 1 < = i < = n ) (1<=i<=n) (1<=i<=n):

    • 如果i==1,则结点i即为二叉树的根,无双亲;如果i>1,则其双亲结点为 i / 2 i/2 i/2
    • 如果 2 i > n 2i>n 2i>n,则结点 i i i无左孩子(结点 i i i为叶子结点);否则其左孩子结点为 2 i 2i 2i
    • 如果 2 i + 1 > n 2i+1>n 2i+1>n,则结点 i i i无右孩子,否则其右孩子为 2 i + 1 2i+1 2i+1
相关推荐
hetao173383714 分钟前
2026-10-07 hetao1733837 的刷题记录
c++·算法
Nil20830 分钟前
leetcode 279完全平方数
算法·leetcode·职场和发展
All for pursuit.36 分钟前
【动态规划-1】121.买卖股票的最佳时机
数据结构·c++·算法·leetcode·动态规划
名不经传的养虾人39 分钟前
从0到1:企业级AI项目迭代日记 Vol.117|学会忘记,学会证明,学会设边界
大数据·人工智能·算法·企业ai·多agent协作
weixin_307779131 小时前
C++代码实现MATLAB中的cvpartition函数功能
开发语言·c++·算法·matlab
Logic1011 小时前
C语言/数据结构位运算题解:异或XOR找出优秀项目组中的“独特编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
(Charon)1 小时前
【C++面试】线程同步机制:互斥锁、条件变量、原子操作与读写锁
开发语言·c++·算法·面试
七牛云行业应用1 小时前
刚刚!GPT-6.1 Sol Ultrafast 上线:速度、价格、API 接入全指南
算法
Omics Pro1 小时前
研究证实AI虚拟细胞可用于药物靶点发现
数据库·人工智能·算法·机器学习·自然语言处理
在所不辞兄1 小时前
常微分方程详解与应用
人工智能·神经网络·算法·机器学习