1.やさしい
配列の要素にインデックスでアクセスするのにかかる時間は次のどれですか?
- AO(n²)
- BO(n)
- CO(log n)
- DO(1)
2.やさしい
増加の下界(lower bound)を表す記法はどれですか?
- Ao(little o)
- BO(Big O)
- CΩ(Big Omega)
- DΘ(Big Theta)
3.やさしい
空間計算量(space complexity)が測るものはどれですか?
- Aコンパイル後のプログラムファイルのディスク容量
- Bコンピュータの物理的な大きさ
- Cコードの行数
- D入力が大きくなるにつれてアルゴリズムが必要とするメモリ量
4.ふつう
比較に基づくソートの最悪の場合の下界はどれですか?
- AΩ(n)
- BΩ(n log n)
- CΩ(n²)
- DΩ(log n)
5.ふつう
満杯になると容量を2倍にする動的配列に要素を追加する操作の償却(amortised)時間計算量は何ですか?
- AO(n)
- BO(1)
- CO(log n)
- DO(n²)
6.ふつう
漸化式 T(n) = 2T(n/2) + O(n) の解はどれですか?
- AO(n²)
- BO(n)
- CO(log n)
- DO(n log n)
7.むずかしい
シュトラッセンのアルゴリズムは、半分のサイズのブロックの再帰的な掛け算を 8 回ではなく 7 回にして行列を掛けます。実行時間は何ですか?
- AΘ(nlog₂ 7)、約 n2.81
- BΘ(n² log n)
- CΘ(n2)
- DΘ(n³)
8.むずかしい
新しい問題 X が NP 困難であることを示すには、何をしなければなりませんか?
- AX を多項式時間で検証できることを示す
- BX を多項式時間で既知の NP 困難な問題に帰着させる
- C既知の NP 困難な問題を多項式時間で X に帰着させる
- DX には小さな入力に対する多項式アルゴリズムがないことを示す
解答
- 1. D · O(1)
- 2. C · Ω(Big Omega)
- 3. D · 入力が大きくなるにつれてアルゴリズムが必要とするメモリ量
- 4. B · Ω(n log n)
- 5. B · O(1)
- 6. D · O(n log n)
- 7. A · Θ(nlog₂ 7)、約 n2.81
- 8. C · 既知の NP 困難な問題を多項式時間で X に帰着させる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。