1)术语不平衡二叉树是什么意思以及我们如何编写算法来测试它?
2)我有一个问题,要求编写一个函数来测试二叉树的深度。我认为这可行但不确定....:
function getDepth(Node n){
if(node == null){
return 0;
}
return 1 + Math.max(getDepth(node.left), getDepth(node.right));
}
getDepth(root);
任何人都可以给我指点......
答案 0 :(得分:0)
1)偏斜的二叉树不是100%普遍的常用术语(即使是谷歌也会感到困惑)。搜索您的讲义或书籍以了解它们的含义。
要测试树是否具有与节点一样多的水平,您可以使用已有的计算级别的函数和另一个计算节点数的函数。
但是,如果发现节点数不能与级别数相同,那么你应该做出另一个更有效的算法,该算法会提前终止。
深度功能正确。毕竟,这不是直接从树深度的定义?
(唯一可能的挑剔是深度(null)= 1.请确保你不需要深度(null)= 0)
答案 1 :(得分:0)
倾斜二叉树是只有一种子树的树。如果一棵树只留下了子树,那么它就会留下偏斜的树,反之亦然。