0
誰でもAVLツリーの回転テクニックを説明することができ、例ではLL、RR、LR、RLの4種類があります。 私はLLとRRの回転を知っていますが、RLとLRの回転には何らかの問題がありますか?AVLツリーの回転テクニックですか?
誰でもAVLツリーの回転テクニックを説明することができ、例ではLL、RR、LR、RLの4種類があります。 私はLLとRRの回転を知っていますが、RLとLRの回転には何らかの問題がありますか?AVLツリーの回転テクニックですか?
これらの質問は、単純なGoogle検索でこれを解決し、私がやったように自分自身を調べることができるので、ここで尋ねるべきではありません。しかし、ここではそのための擬似コードを書くのは本当に良い方法です:
IF tree is right heavy {
IF tree's right subtree is left heavy {
Perform Double Left rotation
} ELSE {
Perform Single Left rotation
}
} ELSE IF tree is left heavy {
IF tree's left subtree is right heavy {
Perform Double Right rotation
}
ELSE {
Perform Single Right rotation
}
}
ここで私はからこれを得た場所へのリンクです。このペーパーには、それをクリアするはるかに詳細な説明もあります。http://www.cise.ufl.edu/~nemo/cop3530/AVL-Tree-Rotations.pdf