2013-03-18 223 views
1

找到一個示例AVL樹,以便從樹 中刪除單個(特定)值會導致從兩個不同節點開始重新平衡。AVL樹刪除

我有這個作爲我的作業問題。我知道AVL樹是什麼,但我不明白上面的問題。有人可以放光嗎?

在兩個不同的節點重新平衡是否意味着需要兩次旋轉來修復樹?

回答

1

AVL重新平衡操作是一個特定節點需要應用單循環或雙循環以糾正樹中不平衡的時間。我認爲問題是要求你找到一種情況,即在AVL樹中進行單一或雙重旋轉從本地修復天平,但是隨後需要在樹中較高層的節點上執行重新平衡操作。

希望這會有所幫助!

+0

是的好...我認爲對於avl樹,至多隻需要2次操作/旋轉來平衡樹...對吧?所以如果我進行兩輪旋轉......那麼我的樹應該平衡......所以重新平衡操作不需要在樹上更高......對吧?所以我沒有回答你提出的這個問題。 – Nikhil 2013-03-18 22:23:13

+0

@ Nikhil-我的目的只是爲了澄清作業所說的內容。兩輪輪胎是不夠的,你的作業是找出原因。 – templatetypedef 2013-03-18 22:25:51

+0

噢...如果是插入,最多雙重旋轉可以平衡樹。但在刪除的情況下,不平衡可以向上傳播...我的壞...我會更深入地瞭解這.. – Nikhil 2013-03-19 01:45:36