1.やさしい
二分木の行きがけ順(preorder)の走査は、どの順序でノードを訪問しますか。
- Aノード、次に左部分木、次に右部分木
- B上から 1 レベルずつ
- C左部分木、次に右部分木、次にノード
- D左部分木、次にノード、次に右部分木
2.やさしい
二分最小ヒープの最小の要素はどこにありますか。
- Aいずれかの葉にあり、探さなければならない
- B最も左の葉
- C配列の最後の位置
- D根
3.やさしい
グラフの隣接リスト表現では、各頂点について何が格納されますか。
- A他のすべての頂点への最短経路
- BV 個の真偽値からなる行
- Cグラフの辺の総数
- D隣接する頂点のリスト
4.ふつう
実行中のプログラムが、有効な関数呼び出しとそのローカル変数を管理するために使うデータ構造はどれですか。
- Aヒープメモリのキュー
- Bフレームの二分探索木
- C関数のハッシュテーブル
- Dコールスタック
5.ふつう
衝突したキーを同じバケット内のリストに格納する衝突解決法はどれですか。
- Aダブルハッシュ法(Double hashing)
- B二次探査法(Quadratic probing)
- C線形探査法(Linear probing)
- Dチェイン法(Separate chaining)
6.ふつう
オープンアドレス法を使うハッシュテーブルで、負荷率の最大値はいくつですか。
- A最大値はない
- B2
- C0.5
- D1
7.むずかしい
二分ヒープにおける decrease-key(要素の位置が分かっている場合)の時間計算量はどれですか。
- AO(n)
- BO(log n)
- CO(1)
- DO(n log n)
8.むずかしい
n 個の数からなるストリームから、O(k) のメモリで最小の k 個の値を保持しなければなりません。O(n log k) 時間で動作する方法はどれですか。
- A最後の k 個の値の FIFO キュー
- Bサイズ k の最大ヒープを使い、より小さい値が来たら根を置き換える
- Cn 個すべての値のソート済み配列
- Dn 個すべての値を保持する最小ヒープで、最後に小さい方から k 個を取り出す
解答
- 1. A · ノード、次に左部分木、次に右部分木
- 2. D · 根
- 3. D · 隣接する頂点のリスト
- 4. D · コールスタック
- 5. D · チェイン法(Separate chaining)
- 6. D · 1
- 7. B · O(log n)
- 8. B · サイズ k の最大ヒープを使い、より小さい値が来たら根を置き換える
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。