解答つきアルゴリズムと計算量ワークシート

無料で印刷できるアルゴリズムと計算量のワークシート:やさしい問題から試験レベルまで 8 問、解答つき。印刷するか PDF で保存できます。

先生方へ: 授業で自由に印刷・コピーしてお使いいただけます。新しいワークシートごとに数値が変わり、専用の解答が付きます。授業ページに ExamProblems へのリンクを載せていただけると嬉しいです。

名前: ____________________   日付: ____________

1.やさしい

アルゴリズムとは何ですか?

  1. A問題を解く、明確に定義された手順の有限の列
  2. B数式を書くために設計されたプログラミング言語
  3. Cグラフィカルなインターフェースをもつあらゆるコンピュータプログラム
  4. D数値を格納するデータ構造
2.やさしい

メモ化(memoisation)とは何ですか?

  1. A関数が戻った後にメモリを解放すること
  2. B再帰を自動的に等価なループに変換し、コールスタックを不要にすること
  3. C関数呼び出しの結果を保存し、同じ呼び出しにはメモリから答えること
  4. Dコードの各行の横にコメントを書くこと
3.やさしい

0 から k の範囲の n 個の整数に対する計数ソート(counting sort)の実行時間は何ですか?

  1. AO(n²)
  2. BO(n log n)
  3. CO(k log n)
  4. DO(n + k)
4.ふつう

V 個の頂点と E 本の辺をもつグラフに対するベルマン-フォード法の時間計算量は何ですか?

  1. AO(V³ × E)
  2. BO(V × E)
  3. CO(E log V)
  4. DO(V + E)
5.ふつう

O(n²) のアルゴリズムは O(n³) でもあると言うのは正しいですか?

  1. Aはい。ただし n が 100 より小さい場合に限る
  2. Bいいえ。Big O は常に関数の正確な増加率を述べなければならないから
  3. Cいいえ。n が大きいとき n³ は n² より小さいから
  4. Dはい。Big O は上界であり、n² は n³ より速く増加しないから
6.ふつう

漸化式 T(n) = T(n − 1) + O(1) の解は何ですか?

  1. AO(n²)
  2. BO(n)
  3. CO(2ⁿ)
  4. DO(log n)
7.むずかしい

シュトラッセンのアルゴリズムは、半分のサイズのブロックの再帰的な掛け算を 8 回ではなく 7 回にして行列を掛けます。実行時間は何ですか?

  1. AΘ(n³)
  2. BΘ(n2)
  3. CΘ(n² log n)
  4. DΘ(nlog₂ 7)、約 n2.81
8.むずかしい

どんな入力に対してもクイックソートの期待(expected)実行時間を O(n log n) にする手法はどれですか?

  1. A常に先頭の要素を選ぶ
  2. B左側にのみ再帰を使う
  3. Cピボットを一様ランダムに選ぶ
  4. Dクイックソートを実行する前に入力をソートする

解答

  1. 1. A · 問題を解く、明確に定義された手順の有限の列
  2. 2. C · 関数呼び出しの結果を保存し、同じ呼び出しにはメモリから答えること
  3. 3. D · O(n + k)
  4. 4. B · O(V × E)
  5. 5. D · はい。Big O は上界であり、n² は n³ より速く増加しないから
  6. 6. B · O(n)
  7. 7. D · Θ(nlog₂ 7)、約 n2.81
  8. 8. C · ピボットを一様ランダムに選ぶ

ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。