1.やさしい
木におけるノードの深さとは何ですか。
- Aそのノードの子の数
- Bそのノードから最も深い葉までの辺の数
- Cその部分木に含まれるノードの数
- D根からそのノードまでの辺の数
2.やさしい
ハッシュテーブルはデータをどのような形で格納しますか。
- Aハッシュ関数で位置が決まるキーと値のペア
- B固定長の文字列
- Cキーが順序付けられた木
- Dソート済みリストのみ
3.やさしい
「先入れ先出し」(FIFO)の原理で動作するデータ構造はどれですか。
- A二分木(Binary tree)
- Bスタック(Stack)
- Cキュー(Queue)
- Dヒープ(Heap)
4.ふつう
サイズ 7 のハッシュテーブルが h(k) = k mod 7 と線形探査法を使っています。10 を挿入した後、17 はどこに格納されますか。
- Aインデックス 3
- Bインデックス 0
- Cインデックス 6
- Dインデックス 4
5.ふつう
連結リストにおける番兵(ダミー)ノードの目的は何ですか。
- A要素の数を格納する
- B先頭や末尾での特別な場合をなくしてコードを単純にする
- Cリストをソートされた状態にする
- Dリストのノード数が決まった最大値を超えて増えないようにする
6.ふつう
実行中のプログラムが、有効な関数呼び出しとそのローカル変数を管理するために使うデータ構造はどれですか。
- A関数のハッシュテーブル
- Bヒープメモリのキュー
- Cコールスタック
- Dフレームの二分探索木
7.むずかしい
O(1) の追加メモリで、単方向連結リストが閉路を含むかどうかを検出するにはどうすればよいですか。
- A数がリストの長さのフィールドを超えるまでノードを数える
- B一方のポインタを 1 歩ずつ、もう一方を 2 歩ずつ進め、出会うかどうかを調べる
- Cリストをソートして重複を探す
- D訪問したすべてのノードをハッシュ集合に格納する
8.むずかしい
赤黒木が満たさなければならない性質はどれですか。
- Aすべての赤ノードの子は赤でなければならないので、赤ノードは葉まで途切れなく連なる
- B根は赤でなければならない
- Cすべてのノードが赤でなければならない
- Dあるノードからその子孫の葉までのすべての経路に含まれる黒ノードの数が等しい
解答
- 1. D · 根からそのノードまでの辺の数
- 2. A · ハッシュ関数で位置が決まるキーと値のペア
- 3. C · キュー(Queue)
- 4. D · インデックス 4
- 5. B · 先頭や末尾での特別な場合をなくしてコードを単純にする
- 6. C · コールスタック
- 7. B · 一方のポインタを 1 歩ずつ、もう一方を 2 歩ずつ進め、出会うかどうかを調べる
- 8. D · あるノードからその子孫の葉までのすべての経路に含まれる黒ノードの数が等しい
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。