gpt4 book ai didi

java - 查找二叉搜索树是否完美?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:34:58 25 4
gpt4 key购买 nike

我需要确定二叉树是否是完美二叉树,即每个节点除了最后一层外还有 2 个节点。到目前为止,这些是我所拥有的方法,但它似乎没有用,我几乎一直在寻找它。有什么想法吗?

private boolean isPerfect(BinaryNode<AnyType> t){

int sizeTree = size(t);

double num = Math.log(sizeTree+1)/Math.log(2);

int checkNum = (int) (Math.floor(num));

if(num - checkNum == 0)
return true;
else{
return false;
}
}

最佳答案

因为这听起来像是“学习练习”,这里有一个提示:

  • 比较最小和最大树节点深度。

注意:这只是一种方法……但它应该足以让您思考。


@phcoding 的评论指出,您在这里的问题实际上可能是“完美搜索树”的替代定义之间的不匹配。您的代码应该在恰好有 2^N 叶节点(正确排列)的情况下工作。

引用:http://en.wikipedia.org/wiki/Binary_tree ...并查找“完整”、“完整”和“完美”二叉树的定义。

关于java - 查找二叉搜索树是否完美?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com