二叉树的密度

时间:2012-05-29 05:03:32

标签: algorithm data-structures binary-tree

如何找到给定二叉树的密度?我遇到了这个面试问题,不确定密度是什么意思!任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

密集的二叉树接近完美(它接近2^(h + 1) - 1 nodes)。稀疏树更接近链表(它有接近h个节点)。h是单个根节点高度为0的树的高度。

密度的简单衡量标准可能是:

(n - h)/(2^(h + 1) - h - 1)

我刚刚制定了这个公式,所以我不知道它是否适合你对面试答案的需求,但是它会给你一个退化的树,一个给一个完美的树。对于密集树,它会给出接近1的数字,对于稀疏树,数字接近于0。

Wikipedia有很多关于二叉树的信息。

答案 1 :(得分:0)

在二叉树中,每个级别的节点数都在一定范围内。 在0级,有1个节点,根;在级别1,可以有1或2个节点。 在任何级别k,节点的数量在1到2k的范围内。 每个级别的节点数量有助于树的密度。直观地,密度是树的大小(节点数)相对于树的高度的度量。