2014-06-15 33 views
0

我想在Java中旋轉我的樹。 假設我有下面的樹,我想在節點2左右旋轉。我嘗試過使用谷歌搜索,但我真正需要的是一步一步的指導,以預製旋轉所需的操作等(1. set離開孩子到x),它不需要在代碼中。 如果有人願意解釋,或者有一個頁面做到這一點,我會永遠感激。在Java中旋轉樹

tree example

+0

您是否在尋找特別用於旋轉紅黑樹的幫助?你沒有說,但這幅畫暗示你可能是。 –

+0

我認爲這就是你在尋找http://stackoverflow.com/questions/13638005/avl-tree-rotation-in-java和這張來自維基百科的圖片也可能有幫助:[Tree_Rotations.gif](http:// en.wikipedia.org/wiki/Tree_rotation#mediaviewer/File:Tree_Rotations.gif) – baxbear

回答

0

沒有 「指南」 做這樣的旋轉。有幾個選項,例如:

enter image description here

另一種選擇:

enter image description here

另一種選擇:

enter image description here

+0

這是一個AVL樹,所以最後兩種情況是非法狀態。 – Obicere

+0

@Obicere這個問題沒有提到AVL樹。 – alfasin

+0

僅僅着色系統就會建議一棵RB樹或一棵AVL樹。這是相當標準的。 – Obicere

0

只是在谷歌類型的高度平衡樹,會給你所有關於旋轉的信息,你可以通過設置所有的鏈接來旋轉這一點,一個重要的事情是,如果你不能正確設置鏈接,你鏈接是重要的,那麼你將失去你的數據或進入一些循環