1.やさしい
それぞれ n 回実行される二重の入れ子ループを持つアルゴリズムの計算量は、通常どれですか?
- AO(n²)
- BO(n)
- CO(2n)
- DO(log n)
2.やさしい
順序が誤っている隣接要素を繰り返し交換するソートアルゴリズムはどれですか?
- Aクイックソート(Quicksort)
- Bヒープソート(Heap sort)
- Cバブルソート(Bubble sort)
- Dマージソート(Merge sort)
3.やさしい
f(n) = Θ(g(n)) はどういう意味ですか?
- Aすべての n について f は常に g より小さいので、g は上からは抑えるが下からは決して抑えない
- Bf は g より真に遅く増加する
- Cf は g と同じ速さで増加し、上下から g の定数倍で抑えられる
- Df は g より真に速く増加する
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.ふつう
長さ m と n の文字列の最長共通部分列を求める標準的な動的計画法の時間計算量は何ですか?
- AO(2m+n)
- BO(mn)
- CO(m + n)
- DO(mn log n)
6.ふつう
ある関数は n 回反復するループを 1 つ実行し、その後別に n 回反復するループをもう 1 つ実行します。時間計算量は何ですか?
- AO(n²)
- BO(log n)
- CO(2ⁿ)
- DO(n)
7.むずかしい
最短単純路は多項式時間で見つけられます。一般のグラフで 2 頂点間の最長単純路を見つけることについて、何が知られていますか?
- A決定不能である
- B重みの符号を反転すればダイクストラ法で解ける
- C常に O(V + E) で解ける
- DNP 困難である
8.むずかしい
閉路を作らない最も安い辺を繰り返し追加して最小全域木を求めるアルゴリズムはどれですか?
- ADijkstra 法
- B一つのノードから始める Prim 法
- CFloyd–Warshall
- DKruskal 法
解答
- 1. A · O(n²)
- 2. C · バブルソート(Bubble sort)
- 3. C · f は g と同じ速さで増加し、上下から g の定数倍で抑えられる
- 4. C · O(n²)
- 5. B · O(mn)
- 6. D · O(n)
- 7. D · NP 困難である
- 8. D · Kruskal 法
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。