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

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

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

名前: ____________________   日付: ____________

1.やさしい

順序が誤っている隣接要素を繰り返し交換するソートアルゴリズムはどれですか?

  1. Aヒープソート(Heap sort)
  2. Bクイックソート(Quicksort)
  3. Cバブルソート(Bubble sort)
  4. Dマージソート(Merge sort)
2.やさしい

総当たり(brute-force)アルゴリズムとは何ですか?

  1. A多数のプロセッサで動作するアルゴリズム
  2. B答えをランダムに推測するアルゴリズム
  3. C常に再帰を使うアルゴリズム
  4. D考えられるすべての候補解を試すアルゴリズム
3.やさしい

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

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

ならし解析(amortised analysis)は何を測りますか?

  1. Aランダムな入力に対する期待コスト
  2. B最悪の操作列にわたる操作 1 回あたりの平均コスト
  3. C最良の入力に対するアルゴリズムのコスト
  4. D操作列のどこかにある、最もコストの高い 1 回の操作のコスト
5.ふつう

O(log n) のように、Big O で対数の底が通常省略されるのはなぜですか?

  1. A底は n が小さいときにしか問題にならないから
  2. B計算機科学のすべての対数は底が 10 なので、省略されているから
  3. C底の異なる対数は定数倍しか違わないから
  4. D対数は常に整数に丸められるから
6.ふつう

辺の重みが非負のグラフで、一つの始点からの最短経路を求めるアルゴリズムはどれですか?

  1. AKruskal 法
  2. BDijkstra 法
  3. Cどの場合でも Bellman–Ford が必要
  4. D深さ優先探索(DFS)
7.むずかしい

V 個の頂点と E 本の辺をもつグラフで、二分ヒープを用いたダイクストラ法の実行時間は何ですか?

  1. AO(V × E)
  2. BO((V + E) log V)
  3. CO(V + E)
  4. DO(V³)
8.むずかしい

動的計画法で解く 0/1 ナップサック問題は O(nW) 時間かかります。これが擬多項式(pseudo-polynomial)と呼ばれるのはなぜですか?

  1. AW = 0 の場合にしか動作しないから
  2. Bn が常に小さいから
  3. CW は数値なので、実行時間は W を書くのに使うビット数に対して指数的になるから
  4. Dアルゴリズムが乱択(randomised)で、実行時間が入力ごとに変わるから

解答

  1. 1. C · バブルソート(Bubble sort)
  2. 2. D · 考えられるすべての候補解を試すアルゴリズム
  3. 3. B · O(n²)
  4. 4. B · 最悪の操作列にわたる操作 1 回あたりの平均コスト
  5. 5. C · 底の異なる対数は定数倍しか違わないから
  6. 6. B · Dijkstra 法
  7. 7. B · O((V + E) log V)
  8. 8. C · W は数値なので、実行時間は W を書くのに使うビット数に対して指数的になるから

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