1.やさしい
分割統治アルゴリズムの 3 つのステップは何ですか?
- A分割、統治、結合
- Bソート、探索、返却
- C読み込み、計算、書き出し
- D推測、確認、反復
2.やさしい
マージソートの最悪時間計算量は何ですか?
- AO(n log n)
- BO(n)
- CO(log n)
- DO(n²)
3.やさしい
メモ化(memoisation)とは何ですか?
- A再帰を自動的に等価なループに変換し、コールスタックを不要にすること
- B関数が戻った後にメモリを解放すること
- Cコードの各行の横にコメントを書くこと
- D関数呼び出しの結果を保存し、同じ呼び出しにはメモリから答えること
4.ふつう
ある関数は n 回反復するループを 1 つ実行し、その後別に n 回反復するループをもう 1 つ実行します。時間計算量は何ですか?
- AO(n)
- BO(n²)
- CO(2ⁿ)
- DO(log n)
5.ふつう
k 進数で d 桁の n 個の整数に対する LSD 基数ソートの実行時間は何ですか?
- AO(n log n)
- BO(d(n + k))
- CO(dn log k)
- DO(n²)
6.ふつう
クイックソートの最悪時間計算量は何ですか?
- AO(log n)
- BO(n log n)
- CO(n²)
- DO(n)
7.むずかしい
ある NP 完全問題に対する多項式時間アルゴリズムを誰かが見つけたら、何が導かれますか?
- ANP のすべての問題が多項式時間で解けることになり、P = NP となる
- B停止問題が決定可能になる
- Cすべての指数時間アルゴリズムがただちに線形時間で動くようになる
- Dその 1 つの問題だけが P に移る
8.むずかしい
1 回のインクリメントで多くのビットが反転することがあるとして、2 進カウンタのインクリメントのならしコストは何ですか?
- Aインクリメント 1 回あたり O(1)
- Bインクリメント 1 回あたり O(log n)
- Cインクリメント 1 回あたり O(n)
- Dインクリメント 1 回あたり O(n log n)
解答
- 1. A · 分割、統治、結合
- 2. A · O(n log n)
- 3. D · 関数呼び出しの結果を保存し、同じ呼び出しにはメモリから答えること
- 4. A · O(n)
- 5. B · O(d(n + k))
- 6. C · O(n²)
- 7. A · NP のすべての問題が多項式時間で解けることになり、P = NP となる
- 8. A · インクリメント 1 回あたり O(1)
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。