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

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

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

名前: ____________________   日付: ____________

1.やさしい

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

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

増加の上界(upper bound)を表す記法はどれですか?

  1. ALittle omega
  2. BBig Theta
  3. CBig Omega
  4. DBig O
3.やさしい

二分探索は入力に何を要求しますか?

  1. A配列の要素が 1000 個以下であること
  2. B配列が正の数だけを含むこと
  3. C配列の長さが 2 のべき乗であること
  4. D配列がソートされていること
4.ふつう

安定(stable)なソートアルゴリズムはどれですか?

  1. A選択ソート(一般的な版)
  2. Bクイックソート(一般的なインプレース版)
  3. Cマージソート
  4. Dヒープソート
5.ふつう

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

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

ソート済み配列で、両端から 1 つずつポインタを内側へ動かして、和が目標値になる 2 つの要素を探します。時間計算量は何ですか?

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

ベルマン-フォード法は、始点から到達可能な負の重みの閉路をどのように検出しますか?

  1. Aダイクストラ法を 2 回実行し、2 つの距離の結果を比べる
  2. B負の重みをもつ辺があるかどうかを調べる
  3. CV − 1 回のラウンドの後、まだ緩和できる辺があるかどうかを調べる
  4. D深さ優先探索で閉路を数える
8.むずかしい

挿入ソートはソート済みの入力に対して O(n) で動作します。これは比較ソートの Ω(n log n) の下界と矛盾しますか?

  1. Aはい。ただし 100 より短い配列の場合に限る
  2. Bいいえ。下界はすべての入力にわたる最悪の場合に適用されるのであって、すべての入力に適用されるわけではない
  3. Cいいえ。挿入ソートは比較ソートではないから
  4. Dはい。したがって下界は誤りである

解答

  1. 1. B · O(n)
  2. 2. D · Big O
  3. 3. D · 配列がソートされていること
  4. 4. C · マージソート
  5. 5. B · 挿入ソートはオーバーヘッドが小さく、小さな入力やほぼソート済みの入力で速いから
  6. 6. C · O(n)
  7. 7. C · V − 1 回のラウンドの後、まだ緩和できる辺があるかどうかを調べる
  8. 8. B · いいえ。下界はすべての入力にわたる最悪の場合に適用されるのであって、すべての入力に適用されるわけではない

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