【问题标题】:JUNG specifying left and right children in a treeJUNG 指定树中的左右子节点
【发布时间】:2015-03-02 17:37:40
【问题描述】:

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

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

【问题讨论】:

  • 欢迎来到 Stack Overflow!您能否提供一些您已经完成的编码,以便人们可以更好地帮助您?

标签: java graph tree jung


【解决方案1】:

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

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

由于您知道自己有一个特别的二叉树,因此您还可以创建一个更有效的自己的实现,假设所有节点都有

【讨论】:

  • 我试过 OrderedKAryTree 但 tree.addEdge((String)label,(String)parent,(String)child) 给出异常:java.lang.IllegalArgumentException: 'index' must be in [0, [order-1]] 我在设置订单时尝试了不同的尺寸,仍然得到相同的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多