アルゴリズムとプログラミング
AVL木でノードを挿入した後に「左左型(LL型)」の不均衡が発生した場合の修正操作はどれか。
ア.不均衡ノードを軸に右回転(Right Rotation)を行う。正解
イ.不均衡ノードを軸に左回転(Left Rotation)を行う。
ウ.左子を軸に左回転した後、不均衡ノードを軸に右回転する(左右二重回転)。
エ.右子を軸に右回転した後、不均衡ノードを軸に左回転する(右左二重回転)。
解説
AVL木の回転は「天秤が左に傾いたら右に引っ張り上げる」操作。LL型は左側が重いので右回転で修正します。
なぜ ア が正解か
LL型不均衡は「不均衡ノードの左子の左側に挿入が起きた」ケースです。修正には不均衡ノードを軸とした「右回転(Right Rotation)」を1回行います。 右回転の手順: ① 不均衡ノードAの左子Bを新しい根にする ② BのパスをAの左子にする(Aの左←Bの右) ③ AをBの右子にする これでAとBの高さが均衡します。LL型は1回の回転で解決できる「単純回転」の代表例です。
出典: AI生成問題(学習用)