如果我有一个树,每个树的节点可以有可变数量的子节点,那么树的对数高度是多少吗?
例如,在n个元素的二叉树中,height是log(n)。
答案 0 :(得分:2)
Mushfiqur是正确的 - 非二叉树的高度可能从 log(n)到 n 不等。在每个节点只有一个子节点的情况下,高度为 n 。像这样的树实际上看起来像一个单链表数据结构。
另一方面,在除叶子节点之外的每个节点都有其最大子节点数并且每个子树同样高(或等于1高)的情况下,我们有一个平衡树。只要树是平衡的,它的高度将始终为 log(n)。
请记住, log(n)并不总是只是 log(n)!当我们谈论计算机科学时,我们通常会谈论 log2(n),但在讨论 m 'ary树时,我们必须使用 log m( n)获得实际高度。例如。一个平衡的树,其中每个节点有三个子节点具有 log3(n)高度。
答案 1 :(得分:1)
并非总是如果它是平衡的,那么它是log(n)。否则高度可以从log(n)到n变化。
答案 2 :(得分:0)
这是正确的,这并不总是正确的,并且从log(n)到n不等,这取决于树是否平衡的事实。 对于部分完整和完整的二叉树,将等于log(n),但对于具有节点链的树,它将等于O(n)。
For example for complete binary tree
1
/ \
2 3
/ \ /\
4 5 6 7
树的高度为log(n)
但对于一系列节点
1
/
2
/
3
/
4
树的高度是O(n)