1.やさしい
n 個の要素を持つ未ソートの配列に対する線形探索(linear search)の時間計算量(最悪の場合)は何ですか?
- AO(1)
- BO(n²)
- CO(n)
- DO(log n)
2.やさしい
あるアルゴリズムの実行時間は O(n) です。この増加は何と呼ばれますか?
- A2 乗
- B定数
- C対数的
- D線形
3.やさしい
log₂ 1024 はいくつですか?
- A12
- B512
- C10
- D32
4.ふつう
for i = 1 to n: for j = 1 to i: do O(1) work の時間計算量は何ですか?
- AO(n²)
- BO(n³)
- CO(n)
- DO(n log n)
5.ふつう
k 進数で d 桁の n 個の整数に対する LSD 基数ソートの実行時間は何ですか?
- AO(dn log k)
- BO(d(n + k))
- CO(n²)
- DO(n log n)
6.ふつう
ソート済み配列で、両端から 1 つずつポインタを内側へ動かして、和が目標値になる 2 つの要素を探します。時間計算量は何ですか?
- AO(n log n)
- BO(n²)
- CO(log n)
- DO(n)
7.むずかしい
停止問題(halting problem)が示していることはどれですか?
- A一部のプログラムは高速なコンピュータでより速く動作するので、停止するかどうかはハードウェアに依存するから
- Bループは避けるべきである
- Cすべてのプログラムと入力について、それが停止するかどうかを判定できるアルゴリズムは存在しない
- Dすべてのプログラムはいずれ停止する
8.むずかしい
22n は O(2ⁿ) に属しますか?
- Aはい。どちらも指数的だから
- Bいいえ。22n = 4ⁿ であり、4ⁿ / 2ⁿ = 2ⁿ は限りなく大きくなるから
- Cはい。Big O では指数の定数倍は常に無視されるから
- Dいいえ。22n は 2ⁿ よりゆっくり増加するから
解答
- 1. C · O(n)
- 2. D · 線形
- 3. C · 10
- 4. A · O(n²)
- 5. B · O(d(n + k))
- 6. D · O(n)
- 7. C · すべてのプログラムと入力について、それが停止するかどうかを判定できるアルゴリズムは存在しない
- 8. B · いいえ。22n = 4ⁿ であり、4ⁿ / 2ⁿ = 2ⁿ は限りなく大きくなるから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。