[英]how to find the type of unbalanced AVL tree?
我已經編寫了AVL樹代碼,但是如何編寫代碼來確定我的樹是否不平衡,並且找到不平衡類型,即“左偏左”,“左偏右”,“右偏右”和“右偏右”?
您可以進行正常的DFS traversal
並在每個節點處找到max height of the left subtree
max height of the right subtree
。
如果所有節點的abs(height_left - height_right) <= 1
,則樹是平衡的。
要找到不平衡樹的類型(我認為這是指修復樹所需的旋轉類型),可以使用左右子指針來推導需要的旋轉類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.