总结所有节点
这可能是一个简单的修复 - 但我试图将二叉搜索树上的所有节点(Node 类的 Size 属性)相加。 到目前为止,在我的 BST 类中,我有以下内容,但它返回 0:
private long sum(Node<T> thisNode)
{
if (thisNode.Left == null && thisNode.Right == null)
return 0;
if (node.Right == null)
return sum(thisNode.Left);
if (node.Left == null)
return sum(thisNode.Right);
return sum(thisNode.Left) + sum(thisNode.Right);
}
在我的 Node 类中,我有 Data,它将 Size 和 Name 存储在其给定属性中。 我只是想总结整个大小。 有什么建议或想法吗?
This may be a simple fix - but I'm trying to sum together all the nodes (Size property from the Node class) on the binary search tree. Below in my BST class I have the following so far, but it returns 0:
private long sum(Node<T> thisNode)
{
if (thisNode.Left == null && thisNode.Right == null)
return 0;
if (node.Right == null)
return sum(thisNode.Left);
if (node.Left == null)
return sum(thisNode.Right);
return sum(thisNode.Left) + sum(thisNode.Right);
}
Within my Node class I have Data which stores Size and Name in their given properties. I'm just trying to sum the entire size. Any suggestions or ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是因为当您到达叶节点时,您将返回零。 您应该返回存储在该叶节点中的大小。
此外,如果您的非叶节点也有大小,您也需要这样处理它们:
如果您的非叶节点没有大小,请使用:
第一个的更优雅的版本是:
It's because you're returning zero when you reach a leaf node. You should be returning the size stored in that leaf node.
In addition, if your non-leaf nodes also have a size, you'll need to process them as well thus:
If your non-leaf nodes don't have size, use:
A more elegant version of the first one is:
也许你的意思是
?
Maybe you meant
?
试试这个:
原始代码返回的唯一“值”是 0 - 这就是结果始终为 0 的原因。
Try this:
The only "value" that the original code ever returns is 0 - that's why the result is always 0.
?
如果尺寸属性不在节点本身上,那怎么样呢
How about
If the size property isn't on the node itself, what about this?