1.やさしい
ある問題が通常「扱いやすい(tractable)」と呼ばれるのはどのような場合ですか?
- A多項式時間で解ける場合
- B解がない場合
- C定数時間で解ける場合
- Dあらゆる可能性を試すことでしか解けない場合
2.やさしい
空間計算量(space complexity)が測るものはどれですか?
- Aコンピュータの物理的な大きさ
- B入力が大きくなるにつれてアルゴリズムが必要とするメモリ量
- Cコンパイル後のプログラムファイルのディスク容量
- Dコードの行数
3.やさしい
アルゴリズムの最悪実行時間は何を表しますか?
- Aサイズ n のすべての入力にわたる最大の所要時間
- Bサイズ n のランダムな入力に対する期待所要時間
- C遅いコンピュータでの所要時間
- D最小の入力に対する所要時間
4.ふつう
クイックソートの最悪時間計算量は何ですか?
- AO(n)
- BO(log n)
- CO(n²)
- DO(n log n)
5.ふつう
活動選択問題で、重ならない活動の数を常に最大にする貪欲な規則はどれですか?
- A最も短い活動から選ぶ
- B最も早く始まる活動を選ぶ
- C最も早く終わる活動を選び、両立する活動で繰り返す
- D重なりの最も少ない活動を先に選び、両立する活動で繰り返す
6.ふつう
漸化式 T(n) = T(n − 1) + O(1) の解は何ですか?
- AO(n)
- BO(n²)
- CO(log n)
- DO(2ⁿ)
7.むずかしい
little-o 記法について正しい記述はどれですか?
- An² = o(n)
- Bどの関数も自分自身の little-o なので、n = o(n)
- C2n はゆっくり増加するので、2n = o(n)
- Dn = o(n²) だが、n は o(n) ではない
8.むずかしい
ハッシュテーブルの平均探索時間が O(1) なのに、最悪の場合は O(n) になるのはなぜですか?
- Aハッシュ関数が遅いから
- Bキーを先にソートする必要があるから
- C配列のアクセスが O(n) だから
- D多くのキーが同じバケットで衝突(collision)する可能性があるから
解答
- 1. A · 多項式時間で解ける場合
- 2. B · 入力が大きくなるにつれてアルゴリズムが必要とするメモリ量
- 3. A · サイズ n のすべての入力にわたる最大の所要時間
- 4. C · O(n²)
- 5. C · 最も早く終わる活動を選び、両立する活動で繰り返す
- 6. A · O(n)
- 7. D · n = o(n²) だが、n は o(n) ではない
- 8. D · 多くのキーが同じバケットで衝突(collision)する可能性があるから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。