歪斜的二叉树

时间:2011-04-27 16:26:13

标签: tree binary-tree skew

1)术语不平衡二叉树是什么意思以及我们如何编写算法来测试它?

2)我有一个问题,要求编写一个函数来测试二叉树的深度。我认为这可行但不确定....:

function getDepth(Node n){
    if(node == null){
        return 0;
    }
    return 1 + Math.max(getDepth(node.left), getDepth(node.right));
}
getDepth(root);

任何人都可以给我指点......

2 个答案:

答案 0 :(得分:0)

1)偏斜的二叉树不是100%普遍的常用术语(即使是谷歌也会感到困惑)。搜索您的讲义或书籍以了解它们的含义。

  1. 要测试树是否具有与节点一样多的水平,您可以使用已有的计算级别的函数和另一个计算节点数的函数。

    但是,如果发现节点数不能与级别数相同,那么你应该做出另一个更有效的算法,该算法会提前终止。

  2. 深度功能正确。毕竟,这不是直接从树深度的定义?

    (唯一可能的挑剔是深度(null)= 1.请确保你不需要深度(null)= 0)

答案 1 :(得分:0)

倾斜二叉树是只有一种子树的树。如果一棵树只留下了子树,那么它就会留下偏斜的树,反之亦然。