- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图在 java 中找到二叉树的直径(树中包含最大节点数的任意两个节点之间的路径长度。)。
我的代码片段:
public int diametre(Node node, int d)
{
if(node==null)
return 0;
lh=diametre(node.left, d);
rh=diametre(node.right, d);
if(lh+rh+1>d)
d=lh+rh+1;
return findMax(lh, rh)+1;
}
在主要方法中:
System.out.println( bst.diametre(root,0) );
逻辑:它实际上是后序逻辑。变量“d”指的是子树的直径(在该迭代中。)。当发现一些更大的值时,它将被更新。'lh'指的是:左子树的高度。'rh'指的是:右子树的高度。
但是它给出了错误的输出。
考虑的树:
5
/ \
/ \
1 8
\ /\
\ / \
3 6 9
空闲输出:5
但是这段代码给出了 3。
有人能找出问题出在哪里吗...
最佳答案
public int diameter (Node root)
{
if (root == null) return 0;
else return Math.max (
diameter (root.left),
Math.max (
diameter (root.right),
height (root.left) + height (root.right) + 1));
}
public int height (Node root)
{
if (root == null) return 0;
else return 1 + Math.max (height (root.left), height (root.right));
}
关于java - 找出二叉树的直径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14953979/
好吧,令人惊讶的是,我在 Google 中也找不到答案,也没有听到。 一些 html/css 专家可以告诉我们吗? 最佳答案 原因可能是没有默认尺寸。不同的浏览器以不同的方式呈现它们,HTML 中的很
例如,我有一个十进制格式的经纬度(而不是像lat=44.1°9.5'30''这样的度-小时-分钟)。要搜索附近的对象,必须将搜索“半径”指定为具有四个值的矩形: north = 44.1; south
我希望有人可以帮助我。 我有一个 n=2071 节点和 m=9023 边的无向图 g。 我使用 igraph 包计算了 R 中的图形密度并得到以下结果: > graph.density(g,loop=
给你一个连通的加权有向图 G = (V,E),直径 k 2->3->4->5->..->N 这样的路径具有非常低的权重之外,所有的边都具有非常大的权重,所以路径必须通过低成本边,因此通过所有节点。 如
有人能告诉我直径协议(protocol)使用的 GY 和 RO 接口(interface)之间的区别吗??? 据我了解,这两个接口(interface)看起来都非常相似,并且也使用了 AVP。 但我仍
首先,非常感谢您耐心解答我所知道的一个简单问题,任何有超过几周经验的人都可以解决这个问题。我看到人们在这里坚持不懈并乐于助人,我希望你愿意和我一起这样做。 这是我的 fiddle : http://j
我们正在努力为 OCS 创建一个直径适配器。目前我们的 AVP 字典由 go-diameter 提供。 我们正在尝试提供一个可配置的字典来支持关注 vendor 特定 AVP 以支持不同的网络提供商,
我是一名优秀的程序员,十分优秀!