1.やさしい
次の実行時間のうち、多項式時間はどれですか?
- AO(n!)
- BO(n³)
- CO(2ⁿ)
- DO(nⁿ)
2.やさしい
ある操作が O(1) 時間で動作するとはどういう意味ですか?
- A実行時間 1 秒あたりちょうど 1 要素を処理する
- B一度しか実行できない
- C実行時間が入力サイズとともに増加しない
- D常にちょうど 1 秒かかる
3.やさしい
ある O(n) アルゴリズムは n = 100 万で 3 秒かかります。n = 200 万ではおよそ何秒かかりますか?
- A6 秒
- B9 秒
- C3 秒
- D12 秒
4.ふつう
素朴な再帰によるフィボナッチ(fib(n) = fib(n−1) + fib(n−2))の時間計算量はどれですか?
- A指数時間
- B定数時間
- C線形時間
- D対数時間
5.ふつう
動的計画法がマージソートを実質的に高速化しないのはなぜですか?
- A動的計画法はグラフ問題にしか使えず、配列には使えないから
- B部分問題が重複しないので、再利用するものがないから
- Cマージソートはすでに O(n) だから
- Dマージソートには再帰的な構造がないから
6.ふつう
活動選択問題で、重ならない活動の数を常に最大にする貪欲な規則はどれですか?
- A最も早く始まる活動を選ぶ
- B最も短い活動から選ぶ
- C重なりの最も少ない活動を先に選び、両立する活動で繰り返す
- D最も早く終わる活動を選び、両立する活動で繰り返す
7.むずかしい
クラス P の定義として正しいものはどれですか?
- A決定性アルゴリズムによって多項式時間で解ける決定問題
- B解を多項式時間で検証できるが、見つけることは決してできない問題
- Cどのコンピュータでも指数時間を必要とする問題
- D並列に解くことができる問題
8.むずかしい
未ソートの配列から k 番目に小さい要素を選択することについて、正しい記述はどれですか?
- A選択は O(n²) でしか行えない
- Bクイックセレクトはピボットの片側だけで再帰するので、最悪でも O(log n) で動作する
- Cクイックセレクトは期待 O(n) で動作し、中央値の中央値法は最悪 O(n) を保証する
- D選択にはソートが必要なので、常に Ω(n log n) が必要である
解答
- 1. B · O(n³)
- 2. C · 実行時間が入力サイズとともに増加しない
- 3. A · 6 秒
- 4. A · 指数時間
- 5. B · 部分問題が重複しないので、再利用するものがないから
- 6. D · 最も早く終わる活動を選び、両立する活動で繰り返す
- 7. A · 決定性アルゴリズムによって多項式時間で解ける決定問題
- 8. C · クイックセレクトは期待 O(n) で動作し、中央値の中央値法は最悪 O(n) を保証する
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。