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

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

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

名前: ____________________   日付: ____________

1.やさしい

n 個の要素を持つ未ソートの配列に対する線形探索(linear search)の時間計算量(最悪の場合)は何ですか?

  1. AO(log n)
  2. BO(1)
  3. CO(n)
  4. DO(n²)
2.やさしい

隣接リストで格納されたグラフに対する深さ優先探索の時間計算量は何ですか?

  1. AO(V²)
  2. BO(E log V)
  3. CO(V × E)
  4. DO(V + E)
3.やさしい

選択ソート(selection sort)はどのように動作しますか?

  1. Aシフトによって各要素を成長していくソート済み部分に挿入する
  2. B未ソート部分の最小値を繰り返し見つけ、それを先頭に交換する
  3. C配列を半分に分け、それらをマージする
  4. D順序が逆になっている隣り合う要素を繰り返し交換する
4.ふつう

1,000,000 要素のソート済み配列に対して、二分探索は最悪の場合およそ何回の比較を必要としますか?

  1. A約 1,000 回
  2. B約 20 回
  3. C約 100 回
  4. D約 500,000 回
5.ふつう

満杯になると容量を2倍にする動的配列に要素を追加する操作の償却(amortised)時間計算量は何ですか?

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

多くのライブラリのソート関数が、非常に小さな部分配列では挿入ソートに切り替えるのはなぜですか?

  1. A挿入ソートはオーバーヘッドが小さく、小さな入力やほぼソート済みの入力で速いから
  2. B挿入ソートは最悪の場合 O(n log n) だから
  3. C再帰アルゴリズムは 10 要素未満の配列を扱えないから
  4. D大きな入力では、挿入ソートは他のどのソートアルゴリズムよりメモリが少なくて済むから
7.むずかしい

log(n!) について正しい評価はどれですか?

  1. AΘ(n log n)
  2. BΘ(n²)
  3. CΘ(n)
  4. DΘ(log n)
8.むずかしい

次の充足可能性問題のうち、多項式時間で解けることが知られているのはどれですか?

  1. A連言標準形の式に対する一般の SAT
  2. B回路充足可能性問題
  3. C各節のリテラルがちょうど 3 個の 3-SAT
  4. D各節のリテラルが高々 2 個の 2-SAT

解答

  1. 1. C · O(n)
  2. 2. D · O(V + E)
  3. 3. B · 未ソート部分の最小値を繰り返し見つけ、それを先頭に交換する
  4. 4. B · 約 20 回
  5. 5. C · O(1)
  6. 6. A · 挿入ソートはオーバーヘッドが小さく、小さな入力やほぼソート済みの入力で速いから
  7. 7. A · Θ(n log n)
  8. 8. D · 各節のリテラルが高々 2 個の 2-SAT

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