2016-05-15 189 views
-4

有誰知道如何製作一個算法,將二叉搜索樹轉換爲AVL樹,並且是轉換它而不是製作另一棵樹(所以它只能使用旋轉來完成),而不是使用DSW技術......和C中。這裏棘手的部分是有很多情況,因爲二叉搜索樹可能以各種方式失衡並且存在四種類型的旋轉。二進制搜索樹?算法

+2

做完作業後,我應該熨燙你的襯衫高手嗎? –

+0

那麼,因爲你使用C,你可以重置樹,只留下它的根,並重新使用它作爲結果,而不是創建一個新的指向新樹的指針。一個可能的解決方案是臨時存儲樹的所有值(使用任何您想要的方式),清除樹,然後使用您希望的任何自動平衡技術添加項目。這實際上就像DSW。 :) –

+0

@androiddeveloper true –

回答

1

我相信DSW技術可以做到一切就緒(無內存分配),如果這正是你想要的。 否則,你能不斷地從AVL運行修正算法,直到樹沒有更多的變化?這是一種可應用於此的很多算法中使用的技術。