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

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

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

名前: ____________________   日付: ____________

1.やさしい

あるアルゴリズムの実行時間は O(n) です。この増加は何と呼ばれますか?

  1. A線形
  2. B対数的
  3. C定数
  4. D2 乗
2.やさしい

次の実行時間のうち、多項式時間はどれですか?

  1. AO(nⁿ)
  2. BO(n³)
  3. CO(n!)
  4. DO(2ⁿ)
3.やさしい

それぞれ n 回実行される二重の入れ子ループを持つアルゴリズムの計算量は、通常どれですか?

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

1、3、4 の硬貨で金額 6 をつくるとき、貪欲な「最大の硬貨から」方式は最適解と比べて何枚の硬貨を使いますか?

  1. A貪欲法は 3 枚、最適解は 3 枚
  2. B貪欲法は 3 枚、最適解は 2 枚
  3. C貪欲法は 2 枚、最適解は 2 枚
  4. D貪欲法は 4 枚、最適解は 3 枚
5.ふつう

到達可能な基底部をもたない再帰関数について、正しい記述はどれですか?

  1. AO(1) 時間で動作する
  2. B自動的に 0 を返す
  3. Cコンパイラが常にそれを、安全に終了するループに変換する
  4. Dコールスタックがオーバーフローするまで自分自身を呼び続ける
6.ふつう

長さ m と n の文字列の最長共通部分列を求める標準的な動的計画法の時間計算量は何ですか?

  1. AO(mn log n)
  2. BO(mn)
  3. CO(m + n)
  4. DO(2m+n)
7.むずかしい

for i = 1 to n: for (j = i; j ≤ n; j = j + i) do O(1) work の時間計算量は何ですか?

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

ハッシュテーブルの平均探索時間が O(1) なのに、最悪の場合は O(n) になるのはなぜですか?

  1. Aキーを先にソートする必要があるから
  2. B配列のアクセスが O(n) だから
  3. C多くのキーが同じバケットで衝突(collision)する可能性があるから
  4. Dハッシュ関数が遅いから

解答

  1. 1. A · 線形
  2. 2. B · O(n³)
  3. 3. B · O(n²)
  4. 4. B · 貪欲法は 3 枚、最適解は 2 枚
  5. 5. D · コールスタックがオーバーフローするまで自分自身を呼び続ける
  6. 6. B · O(mn)
  7. 7. A · O(n log n)
  8. 8. C · 多くのキーが同じバケットで衝突(collision)する可能性があるから

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