1.やさしい
再帰関数の基底部(base case)とは何ですか?
- Aさらに再帰呼び出しをせずに直接答えが得られる場合
- B最も多くのメモリを使う呼び出し
- C関数の最初の行
- D再帰呼び出しより前に処理される、入力が最も大きい場合
2.やさしい
ある操作が O(1) 時間で動作するとはどういう意味ですか?
- A常にちょうど 1 秒かかる
- B実行時間 1 秒あたりちょうど 1 要素を処理する
- C実行時間が入力サイズとともに増加しない
- D一度しか実行できない
3.やさしい
ある O(n²) アルゴリズムは n = 1000 で 1 秒かかります。n = 2000 ではおよそ何秒かかりますか?
- A2 秒
- B8 秒
- C1 秒
- D4 秒
4.ふつう
クイックソートの最悪時間計算量は何ですか?
- AO(n²)
- BO(log n)
- CO(n)
- DO(n log n)
5.ふつう
漸化式 T(n) = T(n/2) + O(1) の解は何ですか?
- AO(log n)
- BO(n log n)
- CO(1)
- DO(n)
6.ふつう
for i = 1 to n: (j = 1; while j < n: j = j × 2) の時間計算量は何ですか?
- AO(log n)
- BO(n log n)
- CO(n)
- DO(n²)
7.むずかしい
ソート済み配列における比較に基づく探索が、最悪の場合 Ω(log n) 回の比較を必要とするのはなぜですか?
- An 通りの結果をもつ決定木は、深さが少なくとも log₂ n でなければならないから
- Bすべての要素を少なくとも一度比較しなければならないから
- C二分探索が唯一可能なアルゴリズムであり、log₂ n 回の比較が必要だから
- D比較 1 回ごとに対数時間がかかるから
8.むずかしい
クラス NP の定義として正しいものはどれですか?
- A証拠(certificate)が与えられれば、「はい」の答えを多項式時間で検証できる決定問題
- Bどのアルゴリズムでも解けない問題
- C多項式時間で解けない問題
- D多項式でない問題
解答
- 1. A · さらに再帰呼び出しをせずに直接答えが得られる場合
- 2. C · 実行時間が入力サイズとともに増加しない
- 3. D · 4 秒
- 4. A · O(n²)
- 5. A · O(log n)
- 6. B · O(n log n)
- 7. A · n 通りの結果をもつ決定木は、深さが少なくとも log₂ n でなければならないから
- 8. A · 証拠(certificate)が与えられれば、「はい」の答えを多項式時間で検証できる決定問題
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。