メインコンテンツへ
アルゴリズムとプログラミングアルゴリズムとデータ構造

n個の要素をマージソートで整列するとき、マージ操作の回数として正しいものはどれか。8要素の場合は何回か。

ア.n回(8要素なら8回)
イ.n-1回(8要素なら7回)正解
ウ.n/2回(8要素なら4回)
エ.log₂n回(8要素なら3回)

解説

マージソートは「会社の合併」のようなもの。1人ずつの部門をどんどん合併していくと、最終的にn-1回の合併が起きる。

なぜ イ が正解か

n個の要素をマージソートで整列する場合、マージ操作の合計回数はn-1回になる。理由: 各マージ操作は2つのグループを1つに統合する。n個の単一要素グループをすべて1つにまとめるには、n-1回の統合が必要(木構造の内部ノード数はn-1)。8要素なら7回のマージ操作が行われる。

なぜ ア は間違いか

n回(8回)は誤り。最初の要素はすでに単体なのでマージ不要。正確にはn-1回。

なぜ ウ は間違いか

n/2回(4回)は第1レベルのマージ回数のみ。全レベルの合計ではない。

なぜ エ は間違いか

log₂n回(3回)はマージソートの段数(再帰の深さ)であり、マージ操作の合計回数ではない。

出典: AI生成問題(学習用)