1.やさしい
ソート済み配列に対する二分探索(binary search)の時間計算量は何ですか?
- AO(n log n)
- BO(1)
- CO(n)
- DO(log n)
2.やさしい
アルゴリズムの最悪実行時間は何を表しますか?
- Aサイズ n のすべての入力にわたる最大の所要時間
- B最小の入力に対する所要時間
- Cサイズ n のランダムな入力に対する期待所要時間
- D遅いコンピュータでの所要時間
3.やさしい
二分探索は入力に何を要求しますか?
- A配列がソートされていること
- B配列の要素が 1000 個以下であること
- C配列の長さが 2 のべき乗であること
- D配列が正の数だけを含むこと
4.ふつう
漸化式 T(n) = T(n − 1) + O(n) の解は何ですか?
- AO(n)
- BO(n log n)
- CO(n²)
- DO(2ⁿ)
5.ふつう
漸化式 T(n) = 2T(n/2) + O(1) の解は何ですか?
- AO(log n)
- BO(n log n)
- CO(n)
- DO(n²)
6.ふつう
ボトムアップの表を使って n 番目のフィボナッチ数を計算する時間計算量は何ですか?
- AO(n²)
- BO(n)
- CO(2ⁿ)
- DO(log n)
7.むずかしい
単方向連結リストでは、二分探索が O(log n) 時間にならないのはなぜですか?
- A連結リストはソートできないから
- B二分探索には少なくとも 2 倍のメモリが必要だから
- C連結リストのノードでの比較は遅いから
- Dインデックスによる直接アクセスがないので、中央の要素に到達するのに O(n) ステップかかるから
8.むずかしい
最後の 2 つの値だけを保持するループで n 番目のフィボナッチ数を計算する時間と領域のコストは何ですか?
- A時間 O(n)、領域 O(n)
- B時間 O(log n)、領域 O(n)
- C時間 O(n)、領域 O(1)
- D時間 O(2ⁿ)、領域 O(1)
解答
- 1. D · O(log n)
- 2. A · サイズ n のすべての入力にわたる最大の所要時間
- 3. A · 配列がソートされていること
- 4. C · O(n²)
- 5. C · O(n)
- 6. B · O(n)
- 7. D · インデックスによる直接アクセスがないので、中央の要素に到達するのに O(n) ステップかかるから
- 8. C · 時間 O(n)、領域 O(1)
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。