1.やさしい
二分探索は入力に何を要求しますか?
- A配列の要素が 1000 個以下であること
- B配列の長さが 2 のべき乗であること
- C配列がソートされていること
- D配列が正の数だけを含むこと
2.やさしい
アルゴリズムとは何ですか?
- Aグラフィカルなインターフェースをもつあらゆるコンピュータプログラム
- B数値を格納するデータ構造
- C数式を書くために設計されたプログラミング言語
- D問題を解く、明確に定義された手順の有限の列
3.やさしい
あるループは i = 1 から始まり、i > n となるまで各反復で i を 2 倍にします。何回反復しますか?
- A約 n / 2 回
- B約 log₂ n 回
- C約 n 回
- D約 n² 回
4.ふつう
満杯になると容量を2倍にする動的配列に要素を追加する操作の償却(amortised)時間計算量は何ですか?
- AO(log n)
- BO(1)
- CO(n)
- DO(n²)
5.ふつう
単純な再帰の階乗関数 fact(n) = n × fact(n − 1) はどれだけのスタック領域を使いますか?
- AO(1)
- BO(n)
- CO(n²)
- DO(log n)
6.ふつう
漸化式 T(n) = T(n/2) + O(1) の解は何ですか?
- AO(log n)
- BO(n log n)
- CO(n)
- DO(1)
7.むずかしい
マスター定理を用いると、T(n) = 8T(n/2) + O(n²) の解はどれですか?
- AΘ(n² log n)
- BΘ(n log n)
- CΘ(n³)
- DΘ(n²)
8.むずかしい
問題が NP 完全(NP-complete)であるのは、次のどの場合ですか?
- A停止問題のように、NP に属さないがすべての NP 問題より難しい
- B多項式時間で解ける
- CNP に属し、すべての NP 問題が多項式時間でその問題に帰着できる
- D解くことが不可能である
解答
- 1. C · 配列がソートされていること
- 2. D · 問題を解く、明確に定義された手順の有限の列
- 3. B · 約 log₂ n 回
- 4. B · O(1)
- 5. B · O(n)
- 6. A · O(log n)
- 7. C · Θ(n³)
- 8. C · NP に属し、すべての NP 問題が多項式時間でその問題に帰着できる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。