2015-03-02 93 views
0

我目前正在用JUNG使用DelegateTree製作二叉樹可視化應用程序。但是,我找不到明確說明節點應該是左側還是右側孩子的方法。JUNG在樹中指定左右兒童

最初我以爲我只需要使用addChild(edge, parent, child),只是不斷添加節點以相同的順序。後來,我意識到這種方法並不總是奏效。起初,生成的樹似乎是正確的,但一旦它達到高度3,它就開始搞亂了,開關節點和最終的整個子樹都沒有特別的方式。

+0

歡迎來到Stack Overflow!你可以給一些你已經完成的編碼,這樣人們可以更好地幫助你嗎? – Juergen 2015-03-06 17:16:52

回答

0

DelegateTree本身不保證對鄰居(子女)迭代的任何特定順序。如果它的輸入圖保證了這個順序(見JUNG: placing tree nodes in order),那麼你應該沒問題。

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

既然你知道你有特別二叉樹,你還可以創建一個更有效的實現自己的那假設所有節點都具有< = 2名兒童。

+0

我試過OrderedKAryTree,但是tree.addEdge((String)label,(String)parent,(String)child)給出了一個異常: java.lang.IllegalArgumentException:'index'必須在[0,[order-1] ] 設置順序時我嘗試了不同的尺寸,仍然得到相同的結果。 – omniverseal 2015-03-03 21:14:01