アルゴリズムとプログラミング
基本情報技術者試験|要素数16の配列をマージソートで整列する。配列を半分ずつに分割していくとき、要素数が1になるまでに必要な分割の段…
要素数16の配列をマージソートで整列する。配列を半分ずつに分割していくとき、要素数が1になるまでに必要な分割の段数は何段か。
ア16段に分けて整列する
イ8段でちょうど終わる
ウ4段で要素数1に到達する
エ2段だけで済む
正解
ウ.4段で要素数1に到達する
マージソートは配列を半分ずつに分割する。16→8→4→2→1と1になるまで4回分割するので段数は4段。これはlog2 16=4に一致するため正しい。
?選択肢ごとの解説
ア ×16段は要素数nをそのまま段数とした誤りで、半減を繰り返すと段数はlog2 nになる点を見落としている。
イ ×8段はn/2(16/2)を段数とした誤りで、分割は1ずつ減るのではなく毎回半分になる対数的減少である。
ウ ○マージソートは配列を半分ずつに分割する。16→8→4→2→1と1になるまで4回分割するので段数は4段。これはlog2 16=4に一致するため正しい。
エ ×2段ではlog2 16=4に届かず、16→8→4で止まり要素数1に到達できない過少な値である。
アルゴリズムとプログラミングの他の問題
文字列照合のボイヤ・ムーア法(BM法)の特徴を最も適切に説明したものはどれか。重み付き有向グラフで、辺の重みがA→B:2、A→C:5、B→C:1、B→D:6、C→D:2、C→E:7、D→E:1である。頂…5頂点A〜Eの連結な無向グラフがあり、辺と重みはA-B:1、A-C:2、B-C:2、C-D:3、B-D:4、D-E:5、C-…動的計画法(DP)の基本的な考え方を最も適切に説明したものはどれか。貪欲法(グリーディ法)に関する説明として最も適切なものはどれか。次の擬似言語で表される手続 sumOdd を、引数として要素数 5 の整数型の配列 {12, 125, 1008,…次の擬似言語は、整数型の配列 arr に対して隣接交換を行う手続の一部であり、外側ループの 1 回目(1…次の擬似言語は昇順に整列された配列 arr に対する二分探索の手続である。arr = {2, 4, 6, 8, 10,…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0139
