1.やさしい
ハッシュテーブルにおいて、衝突(collision)とは何ですか。
- A2 つの異なるキーが同じインデックスに対応すること
- Bテーブルのメモリが不足すること
- C2 つの等しいキーが 2 回格納されること
- Dキーをまったくハッシュできないこと
2.やさしい
デック(deque、両端キュー)とは何ですか。
- A優先度順に並べられたキュー
- B1 つの配列を共有する 2 つの別々のキュー
- C末尾での削除だけを許すキュー
- D両端での挿入と削除を許す構造
3.やさしい
「先入れ先出し」(FIFO)の原理で動作するデータ構造はどれですか。
- A二分木(Binary tree)
- Bヒープ(Heap)
- Cキュー(Queue)
- Dスタック(Stack)
4.ふつう
同じ長さの連結リストを走査するより、配列を走査する方が実際にはずっと速いことが多いのはなぜですか。
- A配列の走査は全体で O(1)、連結リストの走査は O(n) だから
- B配列の要素は連続しているので、CPU キャッシュを有効に使えるから
- C連結リストは常に要素をディスクに格納するから
- D配列では値を比較する命令が少なくて済むから
5.ふつう
ダイクストラ法が次に処理する頂点を選ぶために使う抽象データ型はどれですか。
- A順序のない集合
- BFIFO キュー
- C最小優先度付きキュー
- Dスタック
6.ふつう
衝突したキーを同じバケット内のリストに格納する衝突解決法はどれですか。
- A線形探査法(Linear probing)
- B二次探査法(Quadratic probing)
- Cチェイン法(Separate chaining)
- Dダブルハッシュ法(Double hashing)
7.むずかしい
赤黒木が満たさなければならない性質はどれですか。
- A根は赤でなければならない
- Bすべての赤ノードの子は赤でなければならないので、赤ノードは葉まで途切れなく連なる
- Cあるノードからその子孫の葉までのすべての経路に含まれる黒ノードの数が等しい
- Dすべてのノードが赤でなければならない
8.むずかしい
n 要素の二分最小ヒープで任意のキーを探索するのにどれだけ時間がかかりますか。
- AO(log log n)
- BO(1)
- CO(n)
- DO(log n)
解答
- 1. A · 2 つの異なるキーが同じインデックスに対応すること
- 2. D · 両端での挿入と削除を許す構造
- 3. C · キュー(Queue)
- 4. B · 配列の要素は連続しているので、CPU キャッシュを有効に使えるから
- 5. C · 最小優先度付きキュー
- 6. C · チェイン法(Separate chaining)
- 7. C · あるノードからその子孫の葉までのすべての経路に含まれる黒ノードの数が等しい
- 8. C · O(n)
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。