简体   繁体   English

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

[英]add subtree below more than one nodes in a graph

I am using Java JUNG 2.0.1 version. 我正在使用Java JUNG 2.0.1版本。 I understand basics of JUNG API. 我了解JUNG API的基础知识。

I have a tree with root vertex as 1 [see Input graph]. 我有一棵树的根顶点为1 [请参见输入图]。 Basically, I want to remove an edge (from:1 to:3) ie have sub-tree where root is vertex 3 and add it below vertex 2 and vertex 5 separately [see Output graph]. 基本上,我想删除一条边(从:1到:3),即拥有根为顶点3的子树,并将其分别添加到顶点2和顶点5下[请参见输出图]。

I used getSubTree() and addSubTree() of TreeUtils.java. 我使用了TreeUtils.java的getSubTree()和addSubTree()。 But, it gives error with stack trace : 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) at edu.uci.ics.jung.graph.util.TreeUtils.addFromSubTree(TreeUtils.java:139) at edu.uci.ics.jung.graph.util.TreeUtils.addSubTree(TreeUtils.java:100) 但是,它给堆栈跟踪带来了错误:java.lang.IllegalArgumentException:edu.uci.ics.jung.graph.DelegateTree.addChild(DelegateTree.java:182)上的树必须已经不包含子abc。 edu.uci.ics.jung.graph.util.TreeUtils.addFromSubTree(TreeUtils.java:139)上的edu.uci.ics.jung.graph.util上的jung.graph.DelegateTree.addEdge(DelegateTree.java:102)。 TreeUtils.addSubTree(TreeUtils.java:100)

Input graph :

输入图:

Output graph :

输出图:

Marco13@ is correct. Marco13 @是正确的。 Graph elements (nodes and edges) are required to be unique; 图形元素(节点和边)必须唯一; think of them as elements of a set. 将它们视为一组元素。

If you want two nodes to have the same label (or value, or some other associated data), there are several ways to go about doing this, as discussed here: http://sourceforge.net/apps/trac/jung/wiki/JUNGManual#UserData 如果您希望两个节点具有相同的标签(或值,或一些其他关联的数据),则有几种方法可以做到这一点,如下所述: http : //sourceforge.net/apps/trac/jung/wiki / JUNGManual#UserData

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM