由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Careercup修正的一个关于平衡树的错误
相关主题
判断(二叉)树是否镜像对称问个算法题
careercup的founder, Gayle显老了。。问个关于set的题
完了被Gayle complain了挂了
关于CC一个模拟面试视频的疑问?rand5 -> rand7的解法?
回报本版A-M-G面巾careercup上面的题目
求二叉树最大路径和的变体题问一道google面试题(from careercup)
到底什么样的二叉树才是平衡二叉树?Careercup 4.9解释一下?
平衡二叉树的平衡是指什么碰到不置可否的面试官怎么办?
相关话题的讨论汇总
话题: 深度话题: 平衡话题: ht话题: careercup话题: 二叉
进入JobHunting版参与讨论
1 (共1页)
K*****u
发帖数: 241
1
判断一棵二叉树是否平衡
在第五版前Gayle认为只需要判断最高深度和最低深度的值是否相差不超过1就可以。
解法虽然简单,但偷换了概念,是错误的
虽然最高深度和最低深度的值相差不超过1的树一定是平衡的,但反过来却不对。换句话说,二叉树最高深度和最低深度的值相差不超过1 是 二叉平衡树 的 充分 而非 必要 条件
也就是说那个解法偷换成了更强的要求(虽然解法更简单),但这样的树只是平衡树的一个真子集。
请大家自行构造一棵最大深度和最小深度的值超过1的二叉平衡树,加深对二叉平衡树概念的理解。
B*******1
发帖数: 2454
2
在哪里修正的啊?
K*****u
发帖数: 241
3
5th edition

【在 B*******1 的大作中提到】
: 在哪里修正的啊?
h*****n
发帖数: 93
4
求第五版.可以提供host空间.
m*******l
发帖数: 12782
5
amazon也不过30多块

【在 h*****n 的大作中提到】
: 求第五版.可以提供host空间.
c*****e
发帖数: 3226
6
把这个题的答案帖一下吧。

句话说,二叉树最高深度和最低深度的值相差不超过1 是 二叉平衡树 的 充分 而非
必要 条件
的一个真子集。
树概念的理解。

【在 K*****u 的大作中提到】
: 判断一棵二叉树是否平衡
: 在第五版前Gayle认为只需要判断最高深度和最低深度的值是否相差不超过1就可以。
: 解法虽然简单,但偷换了概念,是错误的
: 虽然最高深度和最低深度的值相差不超过1的树一定是平衡的,但反过来却不对。换句话说,二叉树最高深度和最低深度的值相差不超过1 是 二叉平衡树 的 充分 而非 必要 条件
: 也就是说那个解法偷换成了更强的要求(虽然解法更简单),但这样的树只是平衡树的一个真子集。
: 请大家自行构造一棵最大深度和最小深度的值超过1的二叉平衡树,加深对二叉平衡树概念的理解。

m***n
发帖数: 2154
7
贴出来啊,墨迹什么。。
l*****y
发帖数: 56
8
ht 是一个测深度的函数, 如果在某个结点两个子树的深度相差大于1就返回-1, 否
则返回两个子数的最大深度。
不知道有没有问题,请指教。
int ht(Node p){
if (!p) return 0; /* 之前写成1了,应该是0.
int L=ht(p.left);
int R=ht(p.right);
if (L!=-1 && R!= -1 && abs(L-R)<=1 ) return max(L+1, R+1);
else return -1;
}
int main(){
Node p;
if(ht(P)!=-1) cout<<"It is balanced!\n";
}

【在 c*****e 的大作中提到】
: 把这个题的答案帖一下吧。
:
: 句话说,二叉树最高深度和最低深度的值相差不超过1 是 二叉平衡树 的 充分 而非
: 必要 条件
: 的一个真子集。
: 树概念的理解。

1 (共1页)
进入JobHunting版参与讨论
相关主题
碰到不置可否的面试官怎么办?回报本版A-M-G面巾
发现CC150有很多错误求二叉树最大路径和的变体题
做算法题有没有这感觉到底什么样的二叉树才是平衡二叉树?
Amazon onsite 面经平衡二叉树的平衡是指什么
判断(二叉)树是否镜像对称问个算法题
careercup的founder, Gayle显老了。。问个关于set的题
完了被Gayle complain了挂了
关于CC一个模拟面试视频的疑问?rand5 -> rand7的解法?
相关话题的讨论汇总
话题: 深度话题: 平衡话题: ht话题: careercup话题: 二叉