1.やさしい
順序が誤っている隣接要素を繰り返し交換するソートアルゴリズムはどれですか?
- Aヒープソート(Heap sort)
- Bバブルソート(Bubble sort)
- Cクイックソート(Quicksort)
- Dマージソート(Merge sort)
2.やさしい
二分探索は入力に何を要求しますか?
- A配列の要素が 1000 個以下であること
- B配列の長さが 2 のべき乗であること
- C配列がソートされていること
- D配列が正の数だけを含むこと
3.やさしい
配列の要素にインデックスでアクセスするのにかかる時間は次のどれですか?
- AO(n²)
- BO(n)
- CO(1)
- DO(log n)
4.ふつう
貪欲法(greedy algorithm)の説明として正しいものはどれですか?
- A再帰のみを使用する
- B各ステップで局所的に最良の選択をする
- C可能なすべての解を試す
- D常に最適解を与える
5.ふつう
O(n²) のアルゴリズムは O(n³) でもあると言うのは正しいですか?
- Aはい。Big O は上界であり、n² は n³ より速く増加しないから
- Bいいえ。n が大きいとき n³ は n² より小さいから
- Cいいえ。Big O は常に関数の正確な増加率を述べなければならないから
- Dはい。ただし n が 100 より小さい場合に限る
6.ふつう
重みなしグラフでの幅優先探索(BFS)で求められるものはどれですか?
- A始点ノードからの辺の数で測った最短経路
- B最小全域木
- Cすべてのグラフにおけるトポロジカル順序
- D負の辺の重みを含むグラフでの最短経路
7.むずかしい
漸化式 T(n) = 2T(n/2) + n log n の解は何ですか?
- AΘ(n²)
- BΘ(n log² n)
- CΘ(n log n)
- DΘ(n)
8.むずかしい
未ソートの配列から k 番目に小さい要素を選択することについて、正しい記述はどれですか?
- A選択にはソートが必要なので、常に Ω(n log n) が必要である
- B選択は O(n²) でしか行えない
- Cクイックセレクトはピボットの片側だけで再帰するので、最悪でも O(log n) で動作する
- Dクイックセレクトは期待 O(n) で動作し、中央値の中央値法は最悪 O(n) を保証する
解答
- 1. B · バブルソート(Bubble sort)
- 2. C · 配列がソートされていること
- 3. C · O(1)
- 4. B · 各ステップで局所的に最良の選択をする
- 5. A · はい。Big O は上界であり、n² は n³ より速く増加しないから
- 6. A · 始点ノードからの辺の数で測った最短経路
- 7. B · Θ(n log² n)
- 8. D · クイックセレクトは期待 O(n) で動作し、中央値の中央値法は最悪 O(n) を保証する
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。