1.やさしい
標準的な配列ベースのマージソートは、どれだけの追加メモリを使いますか?
- AO(1)
- BO(n)
- CO(log n)
- DO(n²)
2.やさしい
増加の上界(upper bound)を表す記法はどれですか?
- ABig Theta
- BBig Omega
- CBig O
- DLittle omega
3.やさしい
それぞれ n 回実行される二重の入れ子ループを持つアルゴリズムの計算量は、通常どれですか?
- AO(2n)
- BO(log n)
- CO(n²)
- DO(n)
4.ふつう
for i = 1 to n: for j = 1 to i: do O(1) work の時間計算量は何ですか?
- AO(n²)
- BO(n³)
- CO(n log n)
- DO(n)
5.ふつう
1,000,000 要素のソート済み配列に対して、二分探索は最悪の場合およそ何回の比較を必要としますか?
- A約 1,000 回
- B約 20 回
- C約 100 回
- D約 500,000 回
6.ふつう
活動選択問題で、重ならない活動の数を常に最大にする貪欲な規則はどれですか?
- A最も短い活動から選ぶ
- B最も早く始まる活動を選ぶ
- C重なりの最も少ない活動を先に選び、両立する活動で繰り返す
- D最も早く終わる活動を選び、両立する活動で繰り返す
7.むずかしい
22n は O(2ⁿ) に属しますか?
- Aはい。Big O では指数の定数倍は常に無視されるから
- Bいいえ。22n は 2ⁿ よりゆっくり増加するから
- Cはい。どちらも指数的だから
- Dいいえ。22n = 4ⁿ であり、4ⁿ / 2ⁿ = 2ⁿ は限りなく大きくなるから
8.むずかしい
ハッシュテーブルの平均探索時間が O(1) なのに、最悪の場合は O(n) になるのはなぜですか?
- Aハッシュ関数が遅いから
- B多くのキーが同じバケットで衝突(collision)する可能性があるから
- C配列のアクセスが O(n) だから
- Dキーを先にソートする必要があるから
解答
- 1. B · O(n)
- 2. C · Big O
- 3. C · O(n²)
- 4. A · O(n²)
- 5. B · 約 20 回
- 6. D · 最も早く終わる活動を選び、両立する活動で繰り返す
- 7. D · いいえ。22n = 4ⁿ であり、4ⁿ / 2ⁿ = 2ⁿ は限りなく大きくなるから
- 8. B · 多くのキーが同じバケットで衝突(collision)する可能性があるから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。