アルゴリズム・プログラミング応用問題
マージソートで要素数 n = 16 の配列をソートする場合、分割フェーズでの再帰の深さ(分割が完了するまでのレベル数)はいくつになるか。
A.4← 正解
✓ 正解です。マージソートは配列を半分ずつ分割するため、深さは log₂n となります。log₂16 = 4 なので再帰の深さは 4 です。
B.8
✗ 8 は n/2 であり、線形的な分割回数です。マージソートは毎回半分にするため log₂n = 4 が正しい深さです。
C.16
✗ 16 は要素数そのものです。再帰の深さは要素数ではなく log₂n で決まります。
D.256
✗ 256 は 16² であり、再帰深さの計算とは無関係です。正しくは log₂16 = 4 です。