JUNG在树上指定左右儿童

时间:2015-03-02 17:37:40

标签: java graph tree jung

我目前正在使用DelegateTree与JUNG一起制作二叉树可视化应用程序。但是,我找不到明确说明节点应该是左子节点还是右子节点的方法。

最初我认为我只需要使用addChild(edge, parent, child)并继续以相同的顺序添加节点。后来,我意识到这种方法并不总是有效。起初生成的树似乎是正确的,但是一旦它超过高度3,它就会开始搞乱,并且不会以特定的方式切换节点和最终的整个子树。

1 个答案:

答案 0 :(得分:0)

DelegateTree本身并不保证对邻居(子)的迭代有任何特定的排序。如果它的输入图保证了这种排序(参见JUNG: placing tree nodes in order)那么你应该没问题。

您也可以使用OrderedKAryTree:http://jung.sourceforge.net/doc/api/edu/uci/ics/jung/graph/OrderedKAryTree.html

由于您知道特别具有二叉树,因此您还可以创建自己的更有效的实现,假定所有节点都具有< = 2个子节点。