1.やさしい
n 個の要素を持つ未ソートの配列に対する線形探索(linear search)の時間計算量(最悪の場合)は何ですか?
- AO(n²)
- BO(n)
- CO(log n)
- DO(1)
2.やさしい
マージソート(merge sort)はどの設計戦略を用いていますか?
- A動的計画法
- B分割統治法
- C貪欲法
- D総当たり法
3.やさしい
空間計算量(space complexity)が測るものはどれですか?
- Aコンパイル後のプログラムファイルのディスク容量
- Bコードの行数
- Cコンピュータの物理的な大きさ
- D入力が大きくなるにつれてアルゴリズムが必要とするメモリ量
4.ふつう
問題が最適部分構造をもつとはどういう意味ですか?
- A問題を定数時間で解ける
- B最適解を部分問題の最適解から構成できる
- C問題の最適解がちょうど 1 つで、すべての部分問題がそれを共有しているから
- Dすべての部分問題が同じサイズである
5.ふつう
for i = 1 to n: (j = 1; while j < n: j = j × 2) の時間計算量は何ですか?
- AO(n²)
- BO(n log n)
- CO(log n)
- DO(n)
6.ふつう
クイックソートの最悪時間計算量は何ですか?
- AO(n²)
- BO(n)
- CO(n log n)
- DO(log n)
7.むずかしい
ヘルド-カープの動的計画法アルゴリズムは巡回セールスマン問題を厳密に解きます。n 都市に対する実行時間は何ですか?
- AO(n³)
- BO(n² 2ⁿ)
- CO(n!)
- DO(2n²)
8.むずかしい
挿入ソートはソート済みの入力に対して O(n) で動作します。これは比較ソートの Ω(n log n) の下界と矛盾しますか?
- Aはい。したがって下界は誤りである
- Bいいえ。挿入ソートは比較ソートではないから
- Cはい。ただし 100 より短い配列の場合に限る
- Dいいえ。下界はすべての入力にわたる最悪の場合に適用されるのであって、すべての入力に適用されるわけではない
解答
- 1. B · O(n)
- 2. B · 分割統治法
- 3. D · 入力が大きくなるにつれてアルゴリズムが必要とするメモリ量
- 4. B · 最適解を部分問題の最適解から構成できる
- 5. B · O(n log n)
- 6. A · O(n²)
- 7. B · O(n² 2ⁿ)
- 8. D · いいえ。下界はすべての入力にわたる最悪の場合に適用されるのであって、すべての入力に適用されるわけではない
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。