1.やさしい
マップ(辞書)は何を格納しますか。
- A一意なキーをもつキーと値の組
- B挿入順の値だけ
- C等しいキーの組
- D大きさの順にソートされた値
2.やさしい
優先度付きキューの実装に一般的に使われる構造はどれですか。
- A順序のない単方向連結リスト
- Bスタック
- C文字列
- Dヒープ
3.やさしい
「後入れ先出し」(LIFO)の原理で動作するデータ構造はどれですか。
- A連結リスト(Linked list)
- Bスタック(Stack)
- Cハッシュテーブル(Hash table)
- Dキュー(Queue)
4.ふつう
ある二分木の根は 1 で、左の子が 2、右の子が 3 です。ノード 2 の子は 4(左)と 5(右)です。帰りがけ順の走査はどれですか。
- A5 4 3 2 1
- B4 2 5 1 3
- C1 2 4 5 3
- D4 5 2 3 1
5.ふつう
トライ(接頭辞木)が特に効率的なのはどのような用途ですか。
- A最短経路の探索
- Bオートコンプリートなどの接頭辞検索
- C行列の格納
- D数値のソート
6.ふつう
配列に格納された二分最小ヒープ(インデックスは 0 から)において、インデックス i のノードの子はどこにありますか。
- A2i + 1 と 2i + 2
- Bi + 1 と i + 2
- C2i と 2i + 1
- Di/2 と i/2 + 1
7.むずかしい
O(1) の追加メモリで、単方向連結リストが閉路を含むかどうかを検出するにはどうすればよいですか。
- Aリストをソートして重複を探す
- B訪問したすべてのノードをハッシュ集合に格納する
- C一方のポインタを 1 歩ずつ、もう一方を 2 歩ずつ進め、出会うかどうかを調べる
- D数がリストの長さのフィールドを超えるまでノードを数える
8.むずかしい
データベースやファイルシステムで B 木が使われるのはなぜですか。
- A分岐数が大きいため木が浅く保たれ、遅いディスク読み込みが減るから
- Bどの配列よりもメモリ使用量が少ないので、索引全体が常に主記憶に収まるから
- C再平衡化が不要だから
- Dデータをソートせずに格納するから
解答
- 1. A · 一意なキーをもつキーと値の組
- 2. D · ヒープ
- 3. B · スタック(Stack)
- 4. D · 4 5 2 3 1
- 5. B · オートコンプリートなどの接頭辞検索
- 6. A · 2i + 1 と 2i + 2
- 7. C · 一方のポインタを 1 歩ずつ、もう一方を 2 歩ずつ進め、出会うかどうかを調べる
- 8. A · 分岐数が大きいため木が浅く保たれ、遅いディスク読み込みが減るから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。