在图表中的多个节点下添加子树

时间:2014-06-05 13:21:38

标签: java jung subtree

我正在使用 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 :

Input graph :

Output graph :

Output graph :

1 个答案:

答案 0 :(得分:0)

Marco13 @是正确的。图形元素(节点和边缘)必须是唯一的;将它们视为一组元素。

如果您希望两个节点具有相同的标签(或值或其他一些关联数据),则有几种方法可以执行此操作,如下所述:http://sourceforge.net/apps/trac/jung/wiki/JUNGManual#UserData