普通二叉树

本文详细介绍了二叉树的基本概念及特点,包括二叉树的定义、性质、真二叉树、满二叉树和完全二叉树的区别与联系,并探讨了它们在不同情况下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二叉树

特点:

  1. 每个节点的度最大为2(最多拥有2棵子树)
  2. 左子树和右子树是有顺序的
  3. 即使某节点只有一颗子树,也要区分左右子树

性质:

  1. 非空二叉树的第i层,最多有2的i-1次方个节点(i大于等于1)
  2. 在高度为h的二叉树上最多有2的h次方-1个结点(h大于等于1)
  3. 对于任何一颗非空二叉树,如果叶子节点个数为n0,度为2的节点个数为n2,则有:n0=n2+1

真二叉树(Proper Binary Tree)

真二叉树:所有节点的度都要么为0,要么为2

image-20220903103320983

满二叉树(Full Binary Tree)

满二叉树:所有节点的度都要么为0,要么为2。且所有的叶子节点都在最后一层

image-20220903103602397

  • 在同样高度的二叉树中,满二叉树的叶子节点数量最多、总节点数量最多
  • 满二叉树一定是真二叉树,真二叉树不一定是满二叉树

假设满二叉树的高度为h(h大于等于1):

第i层的节点数量:2的i-1次方

叶子节点数量:2的h-1次方

总节点数量:2的h次方-1

完全二叉树(Complete Binary Tree)

完全二叉树:叶子节点只会出现最后2层,且最后1层的叶子结点都靠左对齐

image-20220903104454682

  • 完全二叉树从根结点至倒数第2层是一颗满二叉树
  • 满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树

完全二叉树的性质

  • 度为1的节点只有左子树

  • 度为1的节点要么是1个,要么是0个

  • 同样节点数量的二叉树,完全二叉树的高度最小

  • 假设完全二叉树的高度为h(h对于等于1):

    • 至少有2的h-1次方个节点
    • 最多有2的h次方-1个节点
    • 总节点数量为n:h=floor(log2n)+1
  • 一颗有n个节点的完全二叉树(n>0),从上到下、从左到右对节点从1开始进行编号,对任意第i个节点

    • 如果i=1,它是根节点
    • 如果i>1,它的父节点编号为 floor(i/2)
    • 如果2i小于等于n,它的左子节点编号为2i
    • 如果2i>n,它无左子节点
    • 如果2i+1小于等于n,它的右子节点编号为2i+1
    • 如果2i+1>n,它无右子节点
  • 一颗有n个节点的完全二叉树(n>0),从上到下、从左到右对节点从0开始进行编号,对任意第i个节点

    • 如果i=0,它是根节点
    • 如果i>0,它的父节点编号为 floor((i-1)/2)
    • 如果2i+1小于等于n-1,它的左子节点编号为2i+1
    • 如果2i+1>n-1,它无左子节点
    • 如果2i+2小于等于n-1,它的右子节点编号为2i+2
    • 如果2i+2>n-1,它无右子节点

image-20220903145142259

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小旺不正经

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值