アルゴリズムとプログラミング

基本情報技術者試験AVL木などの平衡2分探索木を用いる主な目的

テクノロジ系アルゴリズムとプログラミング難易度:normal
AVL木などの平衡2分探索木を用いる主な目的として最も適切なものはどれか。
ノードを連結するポインタを完全に廃止し全要素を連続したメモリ領域に詰めて格納することでメモリ使用量を大きく削減すること
要素を一切並べ替えず到着順に末尾へ追加し、挿入を必ずO(1)で完了させること
同じ値の重複登録を物理的に禁止し、集合演算の和や積を高速化すること
挿入や削除のたびに木の高さの偏りを抑え、探索を常にO(log n)に近く保つこと
正解
エ.挿入や削除のたびに木の高さの偏りを抑え、探索を常にO(log n)に近く保つこと

AVL木は各ノードで左右部分木の高さの差を一定以下に保つよう回転で再平衡する。これにより木が一方向に偏って高さがnに近づくのを防ぎ、探索・挿入・削除をO(log n)に保てるため正しい。

?選択肢ごとの解説

ア ×ポインタを廃止し連続領域に格納するのは配列の発想であり、ノードをポインタでつなぐ木構造の説明ではない。平衡化の目的とも無関係である。
イ ×並べ替えず末尾へ追加して挿入O(1)にするのはスタックやキューの挙動であり、順序を保ちながら平衡を維持するAVL木の目的とは異なる。
ウ ×重複禁止と集合演算高速化は集合データ型の目的に近く、AVL木が高さの偏りを抑えて探索効率を保つという本来の目的とは別である。
エ ○AVL木は各ノードで左右部分木の高さの差を一定以下に保つよう回転で再平衡する。これにより木が一方向に偏って高さがnに近づくのを防ぎ、探索・挿入・削除をO(log n)に保てるため正しい。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0126

【基本情報技術者試験】AVL木などの平衡2分探索木を用いる主な目的|正解「挿入や削除のたびに木の高さの…」|ukamiru 過去問