1.やさしい
分割統治アルゴリズムの 3 つのステップは何ですか?
- A読み込み、計算、書き出し
- B分割、統治、結合
- C推測、確認、反復
- Dソート、探索、返却
2.やさしい
次の実行時間のうち、多項式時間はどれですか?
- AO(n!)
- BO(n³)
- CO(nⁿ)
- DO(2ⁿ)
3.やさしい
増加の上界(upper bound)を表す記法はどれですか?
- ALittle omega
- BBig O
- CBig Omega
- DBig Theta
4.ふつう
貪欲法(greedy algorithm)の説明として正しいものはどれですか?
- A各ステップで局所的に最良の選択をする
- B可能なすべての解を試す
- C再帰のみを使用する
- D常に最適解を与える
5.ふつう
満杯になると容量を2倍にする動的配列に要素を追加する操作の償却(amortised)時間計算量は何ですか?
- AO(n²)
- BO(log n)
- CO(n)
- DO(1)
6.ふつう
漸化式 T(n) = 2T(n/2) + O(1) の解は何ですか?
- AO(n)
- BO(n log n)
- CO(log n)
- DO(n²)
7.むずかしい
次の充足可能性問題のうち、多項式時間で解けることが知られているのはどれですか?
- A回路充足可能性問題
- B各節のリテラルが高々 2 個の 2-SAT
- C連言標準形の式に対する一般の SAT
- D各節のリテラルがちょうど 3 個の 3-SAT
8.むずかしい
どんな入力に対してもクイックソートの期待(expected)実行時間を O(n log n) にする手法はどれですか?
- Aクイックソートを実行する前に入力をソートする
- Bピボットを一様ランダムに選ぶ
- C常に先頭の要素を選ぶ
- D左側にのみ再帰を使う
解答
- 1. B · 分割、統治、結合
- 2. B · O(n³)
- 3. B · Big O
- 4. A · 各ステップで局所的に最良の選択をする
- 5. D · O(1)
- 6. A · O(n)
- 7. B · 各節のリテラルが高々 2 個の 2-SAT
- 8. B · ピボットを一様ランダムに選ぶ
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。