1.やさしい
n 個のノードをもつ木には何本の辺がありますか。
- An − 1
- B2n
- Cn + 1
- Dn
2.やさしい
ハッシュテーブルにおいて、衝突(collision)とは何ですか。
- A2 つの異なるキーが同じインデックスに対応すること
- Bテーブルのメモリが不足すること
- C2 つの等しいキーが 2 回格納されること
- Dキーをまったくハッシュできないこと
3.やさしい
「後入れ先出し」(LIFO)の原理で動作するデータ構造はどれですか。
- Aキュー(Queue)
- Bハッシュテーブル(Hash table)
- Cスタック(Stack)
- D連結リスト(Linked list)
4.ふつう
ある道路網には 100,000 の交差点があり、それぞれが約 4 つの他の交差点とつながっています。最も適した表現はどれですか。
- A頂点の 1 つのソート済み配列
- B隣接行列
- C辺の二分ヒープ
- D隣接リスト
5.ふつう
リストの中ほどにあるノードへの参照をもっています。どのリストなら、それを O(1) で削除できますか。
- Aソート済み配列
- B単方向連結リスト
- C動的配列
- D双方向連結リスト
6.ふつう
隣接行列を使って辺 (u, v) が存在するかを調べるのにどれだけ時間がかかりますか。
- AO(E)
- BO(1)
- CO(log V)
- DO(V)
7.むずかしい
配列のサイズ k のすべてのウィンドウの最大値を合計 O(n) で計算できる構造はどれですか。
- Aウィンドウの要素の単方向連結リスト
- Bずらすことで更新するソート済み配列
- Cウィンドウごとに作り直す最小ヒープ
- D値の降順にインデックスを保持するデック
8.むずかしい
配列の各要素について、その右側にある次に大きい要素を、合計 O(n) 時間で求めたいとします。役立つ構造はどれですか。
- A要素ごとに作り直す二分探索木
- B要素のすべての組を保持するキュー
- C答えを待っている要素を保持するスタック
- Dすべての要素のハッシュテーブル
解答
- 1. A · n − 1
- 2. A · 2 つの異なるキーが同じインデックスに対応すること
- 3. C · スタック(Stack)
- 4. D · 隣接リスト
- 5. D · 双方向連結リスト
- 6. B · O(1)
- 7. D · 値の降順にインデックスを保持するデック
- 8. C · 答えを待っている要素を保持するスタック
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。