0

我正在使用Java JUNG 2.0.1版本。我了解 JUNG API 的基础知识。

我有一棵根顶点为 1 的树 [参见输入图]。基本上,我想删除一条边(从:1 到:3),即具有根为顶点 3 的子树,并将其分别添加到顶点 2 和顶点 5 下方[参见输出图]。

我使用了 TreeUtils.java 的 getSubTree() 和 addSubTree()。但是,它给出了堆栈跟踪错误:java.lang.IllegalArgumentException: Tree must not already contain child abc at edu.uci.ics.jung.graph.DelegateTree.addChild(DelegateTree.java:182) at edu.uci.ics。 jung.graph.DelegateTree.addEdge(DelegateTree.java:102) 在 edu.uci.ics.jung.graph.util.TreeUtils.addFromSubTree(TreeUtils.java:139) 在 edu.uci.ics.jung.graph.util。 TreeUtils.addSubTree(TreeUtils.java:100)

Input graph :

输入图:

Output graph :

输出图:

4

1 回答 1

0

Marco13@ 是正确的。图元素(节点和边)要求是唯一的;将它们视为集合的元素。

如果您希望两个节点具有相同的标签(或值,或一些其他相关数据),有几种方法可以做到这一点,如下所述:http: //sourceforge.net/apps/trac/jung/wiki /JUNGManual#用户数据

于 2014-06-05T23:21:43.163 回答