1.やさしい
ピボットを選び、配列を小さい要素と大きい要素に分割するソートアルゴリズムはどれですか?
- Aマージソート
- B挿入ソート
- Cバブルソート
- Dクイックソート(quicksort)
2.やさしい
ソート済み配列に対する二分探索(binary search)の時間計算量は何ですか?
- AO(n log n)
- BO(n)
- CO(1)
- DO(log n)
3.やさしい
ある O(n²) アルゴリズムは n = 1000 で 1 秒かかります。n = 2000 ではおよそ何秒かかりますか?
- A8 秒
- B1 秒
- C2 秒
- D4 秒
4.ふつう
比較に基づくソートの最悪の場合の下界はどれですか?
- AΩ(n)
- BΩ(n²)
- CΩ(log n)
- DΩ(n log n)
5.ふつう
標準的な 3 重ループで 2 つの n × n 行列を掛ける時間計算量は何ですか?
- AO(n)
- BO(n²)
- CO(n³)
- DO(n² log n)
6.ふつう
重みなしグラフでの幅優先探索(BFS)で求められるものはどれですか?
- A始点ノードからの辺の数で測った最短経路
- Bすべてのグラフにおけるトポロジカル順序
- C最小全域木
- D負の辺の重みを含むグラフでの最短経路
7.むずかしい
問題が NP 完全(NP-complete)であるのは、次のどの場合ですか?
- A停止問題のように、NP に属さないがすべての NP 問題より難しい
- B多項式時間で解ける
- CNP に属し、すべての NP 問題が多項式時間でその問題に帰着できる
- D解くことが不可能である
8.むずかしい
新しい問題 X が NP 困難であることを示すには、何をしなければなりませんか?
- AX を多項式時間で検証できることを示す
- BX を多項式時間で既知の NP 困難な問題に帰着させる
- C既知の NP 困難な問題を多項式時間で X に帰着させる
- DX には小さな入力に対する多項式アルゴリズムがないことを示す
解答
- 1. D · クイックソート(quicksort)
- 2. D · O(log n)
- 3. D · 4 秒
- 4. D · Ω(n log n)
- 5. C · O(n³)
- 6. A · 始点ノードからの辺の数で測った最短経路
- 7. C · NP に属し、すべての NP 問題が多項式時間でその問題に帰着できる
- 8. C · 既知の NP 困難な問題を多項式時間で X に帰着させる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。