1.やさしい
無向グラフにおいて、頂点の次数(degree)とは何ですか。
- A隣接リストにおけるその位置
- Bその頂点からの最長経路の長さ
- Cグラフの頂点の数
- Dその頂点につながっている辺の数
2.やさしい
最大ヒープ性(max-heap property)とは何ですか。
- Aキーが左から右へソートされている
- Bすべての葉が最大のキーをもつ
- Cすべての親のキーがその子のキー以上である
- Dすべての左の子のキーが右の兄弟のキー以上である
3.やさしい
ハッシュテーブルにおいて、衝突(collision)とは何ですか。
- Aテーブルのメモリが不足すること
- B2 つの等しいキーが 2 回格納されること
- Cキーをまったくハッシュできないこと
- D2 つの異なるキーが同じインデックスに対応すること
4.ふつう
容量 n の配列に格納された循環キューで、インデックス i の次の位置はどのように計算されますか。
- A2i + 1
- B(i + 1) mod n
- Ci + 1
- D(i − 1) mod n
5.ふつう
固定のアルファベットをもつトライで、長さ L の単語を探索するのにどれだけ時間がかかりますか。
- A格納されている単語の数に関係なく O(L)
- B単語の数を n として O(log n)
- CO(L × n)
- D単語の数を n として O(n)
6.ふつう
オープンアドレス法を使うハッシュテーブルで、負荷率の最大値はいくつですか。
- A2
- B0.5
- C最大値はない
- D1
7.むずかしい
データベースがインデックスに通常の B 木ではなく B+ 木をよく使うのはなぜですか。
- Aすべてのレコードが連結された葉にあるので、範囲の走査が効率的になるから
- BB+ 木は平衡を保つ必要がないから
- CB+ 木はデータを根にだけ格納するから
- DB+ 木は二分の内部ノードを使うので、ディスクの読み取りが減るから
8.むずかしい
配列の各要素について、その右側にある次に大きい要素を、合計 O(n) 時間で求めたいとします。役立つ構造はどれですか。
- Aすべての要素のハッシュテーブル
- B答えを待っている要素を保持するスタック
- C要素ごとに作り直す二分探索木
- D要素のすべての組を保持するキュー
解答
- 1. D · その頂点につながっている辺の数
- 2. C · すべての親のキーがその子のキー以上である
- 3. D · 2 つの異なるキーが同じインデックスに対応すること
- 4. B · (i + 1) mod n
- 5. A · 格納されている単語の数に関係なく O(L)
- 6. D · 1
- 7. A · すべてのレコードが連結された葉にあるので、範囲の走査が効率的になるから
- 8. B · 答えを待っている要素を保持するスタック
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。