我正在使用 Java JUNG 2.0.1 版本。我理解JUNG API的基础知识。
我有一个根顶点为1的树[见输入图]。 基本上,我想删除一个边(从:1到:3),即有一个子树,其中根是顶点3,并将它添加到顶点2和顶点5 单独 [见输出图]。 / p>
我使用了TreeUtils.java的getSubTree()和addSubTree()。 但是,它会给出堆栈跟踪错误: java.lang.IllegalArgumentException:树必须不包含子a.b.c. 在edu.uci.ics.jung.graph.DelegateTree.addChild(DelegateTree.java:182) 在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 :
答案 0 :(得分:0)
Marco13 @是正确的。图形元素(节点和边缘)必须是唯一的;将它们视为一组元素。
如果您希望两个节点具有相同的标签(或值或其他一些关联数据),则有几种方法可以执行此操作,如下所述:http://sourceforge.net/apps/trac/jung/wiki/JUNGManual#UserData