1.やさしい
標準的な配列ベースのマージソートは、どれだけの追加メモリを使いますか?
- AO(n)
- BO(n²)
- CO(1)
- DO(log n)
2.やさしい
増加の上界(upper bound)を表す記法はどれですか?
- ABig Theta
- BBig O
- CBig Omega
- DLittle omega
3.やさしい
二分探索は入力に何を要求しますか?
- A配列の要素が 1000 個以下であること
- B配列がソートされていること
- C配列が正の数だけを含むこと
- D配列の長さが 2 のべき乗であること
4.ふつう
多くのライブラリのソート関数が、非常に小さな部分配列では挿入ソートに切り替えるのはなぜですか?
- A再帰アルゴリズムは 10 要素未満の配列を扱えないから
- B挿入ソートは最悪の場合 O(n log n) だから
- C大きな入力では、挿入ソートは他のどのソートアルゴリズムよりメモリが少なくて済むから
- D挿入ソートはオーバーヘッドが小さく、小さな入力やほぼソート済みの入力で速いから
5.ふつう
あるクイックソートは常に最初の要素をピボットに使います。どの入力で最悪の振る舞いを示しますか?
- Aすでにソートされている配列
- B長さ 2 の配列
- Cすべての要素が異なる配列
- Dランダムな順序の配列
6.ふつう
比較に基づくソートの最悪の場合の下界はどれですか?
- AΩ(log n)
- BΩ(n²)
- CΩ(n log n)
- DΩ(n)
7.むずかしい
最後の 2 つの値だけを保持するループで n 番目のフィボナッチ数を計算する時間と領域のコストは何ですか?
- A時間 O(2ⁿ)、領域 O(1)
- B時間 O(log n)、領域 O(n)
- C時間 O(n)、領域 O(1)
- D時間 O(n)、領域 O(n)
8.むずかしい
ヘルド-カープの動的計画法アルゴリズムは巡回セールスマン問題を厳密に解きます。n 都市に対する実行時間は何ですか?
- AO(2n²)
- BO(n!)
- CO(n³)
- DO(n² 2ⁿ)
解答
- 1. A · O(n)
- 2. B · Big O
- 3. B · 配列がソートされていること
- 4. D · 挿入ソートはオーバーヘッドが小さく、小さな入力やほぼソート済みの入力で速いから
- 5. A · すでにソートされている配列
- 6. C · Ω(n log n)
- 7. C · 時間 O(n)、領域 O(1)
- 8. D · O(n² 2ⁿ)
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。