1.やさしい
順序が誤っている隣接要素を繰り返し交換するソートアルゴリズムはどれですか?
- Aバブルソート(Bubble sort)
- Bマージソート(Merge sort)
- Cヒープソート(Heap sort)
- Dクイックソート(Quicksort)
2.やさしい
アルゴリズムの最悪実行時間は何を表しますか?
- Aサイズ n のランダムな入力に対する期待所要時間
- B最小の入力に対する所要時間
- C遅いコンピュータでの所要時間
- Dサイズ n のすべての入力にわたる最大の所要時間
3.やさしい
アルゴリズムとは何ですか?
- Aグラフィカルなインターフェースをもつあらゆるコンピュータプログラム
- B数値を格納するデータ構造
- C数式を書くために設計されたプログラミング言語
- D問題を解く、明確に定義された手順の有限の列
4.ふつう
安定(stable)なソートアルゴリズムはどれですか?
- Aクイックソート(一般的なインプレース版)
- Bマージソート
- Cヒープソート
- D選択ソート(一般的な版)
5.ふつう
問題が最適部分構造をもつとはどういう意味ですか?
- A問題を定数時間で解ける
- B最適解を部分問題の最適解から構成できる
- Cすべての部分問題が同じサイズである
- D問題の最適解がちょうど 1 つで、すべての部分問題がそれを共有しているから
6.ふつう
あるクイックソートは常に最初の要素をピボットに使います。どの入力で最悪の振る舞いを示しますか?
- Aランダムな順序の配列
- B長さ 2 の配列
- Cすでにソートされている配列
- Dすべての要素が異なる配列
7.むずかしい
ソート済み配列における比較に基づく探索が、最悪の場合 Ω(log n) 回の比較を必要とするのはなぜですか?
- Aすべての要素を少なくとも一度比較しなければならないから
- Bn 通りの結果をもつ決定木は、深さが少なくとも log₂ n でなければならないから
- C二分探索が唯一可能なアルゴリズムであり、log₂ n 回の比較が必要だから
- D比較 1 回ごとに対数時間がかかるから
8.むずかしい
ある NP 完全問題に対する多項式時間アルゴリズムを誰かが見つけたら、何が導かれますか?
- ANP のすべての問題が多項式時間で解けることになり、P = NP となる
- Bすべての指数時間アルゴリズムがただちに線形時間で動くようになる
- C停止問題が決定可能になる
- Dその 1 つの問題だけが P に移る
解答
- 1. A · バブルソート(Bubble sort)
- 2. D · サイズ n のすべての入力にわたる最大の所要時間
- 3. D · 問題を解く、明確に定義された手順の有限の列
- 4. B · マージソート
- 5. B · 最適解を部分問題の最適解から構成できる
- 6. C · すでにソートされている配列
- 7. B · n 通りの結果をもつ決定木は、深さが少なくとも log₂ n でなければならないから
- 8. A · NP のすべての問題が多項式時間で解けることになり、P = NP となる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。