如何计算完全二叉树的深度
一棵有12个节点的完全二叉树,其深度是()一棵有12个节点的完全二叉树,其深度是()
4
5
3
6
在此之前我想说一下三种二叉树
- Full Binary Tree
- Perfect Binary Tree
- Complete Binary Tree
为什么要说到这个问题,是因为在翻译的时候有个坑,特地想拿出来给大家说一下,Full Binary Tree翻译过来应该是满二叉树, 但是国内的满二叉树指的却是 Perfect Binary Tree。
正文
本篇博文旨在说明怎样计算完全二叉树的深度。
证明:
设该完全二叉树的深度为k,结点个数为12,根据完全二叉树的定义可知,前k-1层的结点个数为 2^(k-1) – 1个,由此可得
12 > 2^(k-1)-1
假设该完全二叉树恰好是一颗满二叉树(Perfect Binary Tree),则该树的结点个数为2^k – 1,由此可得
2^k - 1 > 12 > 2^(k-1) - 1 2^k > 13 > 2^(k-1) ∴ log2 13 < k < (og2 13) + 1 ∴ 3 < k < 5
因为k 只能为int ,所以取4
答案选A
由此可得完全二叉树的深度为log2 n ,其中n 为结点个数,取得下界