面试题:完全二叉树699个节点,则叶子节点有多少个?

来源:互联网 发布:内存性能测试软件 编辑:程序博客网 时间:2024/04/29 06:29

面试题:完全二叉树699个节点,则叶子节点有多少个?

怕记不住,先上结论:

假设一个二叉树有n个节点:

  • 度为0的节点个数是n0
  • 度为1的节点个数是n1
  • 度为2的节点个数是n2

则有如下公式成立:

  • n0 = n2 + 1    (1)
  • n0 = (n +1) / 2  (2)(完全二叉树)

n = n0 + n1 +n2
因为 n0 = n2 + 1
所以 n = 2 * n0 + n1 - 1

因为是完全二叉树,所以 n1 只能等于0或1
所以 n = 2 * n0 - 1 或 n = 2 * n0
也就是n0 = (n + 1) / 2

这里写图片描述

阅读全文
1 0
原创粉丝点击