1.やさしい
再帰とは何ですか?
- Aソートの手法の一つ
- B決して終わらないループ
- Cデータ構造の一種
- Dより小さな入力に対して自分自身を呼び出す関数
2.やさしい
順序が誤っている隣接要素を繰り返し交換するソートアルゴリズムはどれですか?
- Aバブルソート(Bubble sort)
- Bマージソート(Merge sort)
- Cヒープソート(Heap sort)
- Dクイックソート(Quicksort)
3.やさしい
ある操作が O(1) 時間で動作するとはどういう意味ですか?
- A実行時間が入力サイズとともに増加しない
- B一度しか実行できない
- C実行時間 1 秒あたりちょうど 1 要素を処理する
- D常にちょうど 1 秒かかる
4.ふつう
漸化式 T(n) = T(n/2) + O(1) の解は何ですか?
- AO(log n)
- BO(n)
- CO(1)
- DO(n log n)
5.ふつう
O(log n) のように、Big O で対数の底が通常省略されるのはなぜですか?
- A底の異なる対数は定数倍しか違わないから
- B対数は常に整数に丸められるから
- C計算機科学のすべての対数は底が 10 なので、省略されているから
- D底は n が小さいときにしか問題にならないから
6.ふつう
あるクイックソートは常に最初の要素をピボットに使います。どの入力で最悪の振る舞いを示しますか?
- Aすでにソートされている配列
- Bすべての要素が異なる配列
- C長さ 2 の配列
- Dランダムな順序の配列
7.むずかしい
little-o 記法について正しい記述はどれですか?
- Aどの関数も自分自身の little-o なので、n = o(n)
- B2n はゆっくり増加するので、2n = o(n)
- Cn = o(n²) だが、n は o(n) ではない
- Dn² = o(n)
8.むずかしい
新しい問題 X が NP 困難であることを示すには、何をしなければなりませんか?
- A既知の NP 困難な問題を多項式時間で X に帰着させる
- BX には小さな入力に対する多項式アルゴリズムがないことを示す
- CX を多項式時間で既知の NP 困難な問題に帰着させる
- DX を多項式時間で検証できることを示す
解答
- 1. D · より小さな入力に対して自分自身を呼び出す関数
- 2. A · バブルソート(Bubble sort)
- 3. A · 実行時間が入力サイズとともに増加しない
- 4. A · O(log n)
- 5. A · 底の異なる対数は定数倍しか違わないから
- 6. A · すでにソートされている配列
- 7. C · n = o(n²) だが、n は o(n) ではない
- 8. A · 既知の NP 困難な問題を多項式時間で X に帰着させる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。