【发布时间】:2012-10-17 23:30:42
【问题描述】:
我正在尝试在 JUNG(Java 图形包)中创建二叉树。但是,我无法做到这一点。
这是我的来源:
Tree tree1 = new OrderedKAryTree<String, Integer>(2);
tree1.addVertex("v0");
tree1.addEdge(1, "v0", "v1");
tree1.addEdge(2, "v0", "v2");
这是我得到的例外:
java.lang.IllegalArgumentException: 'index' must be in [0, [order-1]]
在documentation 中,我看到addEdge() 的一个重载方法将一个称为索引的整数参数作为第四个参数。但是,我的机器上似乎没有实现。
这应该会创建一个高度为 1 的二叉树。我也尝试在边之前添加顶点:
tree1.addVertex("v0");
tree1.addVertex("v1");
tree1.addVertex("v2");
tree1.addEdge(1, "v0", "v1");
tree1.addEdge(2, "v0", "v2");
这是我得到的例外:
java.lang.UnsupportedOperationException:
Unless you are setting the root, use addEdge() or addChild()
奇怪的是,documentation 中没有 addChild() 方法(我假设 addChild() 是旧版本包的一部分,并且没有在最新更新中删除)
创建一个小的二叉树应该不难!有人可以帮忙吗?
【问题讨论】:
-
我正在尝试构建类似的东西,我很好奇您是否能够找到解决方法或者您是否使用其他库?
标签: java binary-tree jung