1.やさしい
選択ソート(selection sort)はどのように動作しますか?
- A順序が逆になっている隣り合う要素を繰り返し交換する
- Bシフトによって各要素を成長していくソート済み部分に挿入する
- C未ソート部分の最小値を繰り返し見つけ、それを先頭に交換する
- D配列を半分に分け、それらをマージする
2.やさしい
3n² + 5n + 2 の Big O は何ですか?
- AO(5n)
- BO(3n²)
- CO(n²)
- DO(n³)
3.やさしい
あるアルゴリズムの実行時間は O(n) です。この増加は何と呼ばれますか?
- A線形
- B定数
- C対数的
- D2 乗
4.ふつう
O(log n) のように、Big O で対数の底が通常省略されるのはなぜですか?
- A底の異なる対数は定数倍しか違わないから
- B対数は常に整数に丸められるから
- C計算機科学のすべての対数は底が 10 なので、省略されているから
- D底は n が小さいときにしか問題にならないから
5.ふつう
ワーシャル-フロイド法は何を、どれくらいの速さで計算しますか?
- Aトポロジカル順序を O(V²) で
- Bすべての頂点対の間の最短経路を O(V³) で
- C1 つの始点から他のすべての頂点への最短経路を O(V + E) で
- D最小全域木を O(E log V) で
6.ふつう
安定(stable)なソートアルゴリズムはどれですか?
- A選択ソート(一般的な版)
- Bヒープソート
- Cクイックソート(一般的なインプレース版)
- Dマージソート
7.むずかしい
シュトラッセンのアルゴリズムは、半分のサイズのブロックの再帰的な掛け算を 8 回ではなく 7 回にして行列を掛けます。実行時間は何ですか?
- AΘ(n2)
- BΘ(n² log n)
- CΘ(nlog₂ 7)、約 n2.81
- DΘ(n³)
8.むずかしい
極大マッチングのすべての辺の両端点をとると頂点被覆が得られます。この被覆はどれくらいよいですか?
- A最小頂点被覆のサイズの高々 2 倍
- B最小値の高々 log n 倍
- C最適解と比べた品質は不明
- D常に最小頂点被覆
解答
- 1. C · 未ソート部分の最小値を繰り返し見つけ、それを先頭に交換する
- 2. C · O(n²)
- 3. A · 線形
- 4. A · 底の異なる対数は定数倍しか違わないから
- 5. B · すべての頂点対の間の最短経路を O(V³) で
- 6. D · マージソート
- 7. C · Θ(nlog₂ 7)、約 n2.81
- 8. A · 最小頂点被覆のサイズの高々 2 倍
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。