1.やさしい
グラフの隣接リスト表現では、各頂点について何が格納されますか。
- A隣接する頂点のリスト
- B他のすべての頂点への最短経路
- CV 個の真偽値からなる行
- Dグラフの辺の総数
2.やさしい
単方向連結リストでは、最後のノードの next ポインタには何が入っていますか。
- A最初のノードのアドレス
- B前のノードのアドレス
- Cnull(ノードなし)
- Dリストのノードの数
3.やさしい
デック(deque、両端キュー)とは何ですか。
- A両端での挿入と削除を許す構造
- B1 つの配列を共有する 2 つの別々のキュー
- C末尾での削除だけを許すキュー
- D優先度順に並べられたキュー
4.ふつう
キーをソート済みの順序で挿入した場合、n 個のノードを持つ二分探索木の最悪の高さはいくつですか。
- A√n
- Bn(連結リストのようになる)
- Clog₂ n
- D1
5.ふつう
あるアプリケーションには高速な検索が必要で、さらにキーをソート順に一覧にしたり、範囲クエリに答えたりする必要もあります。最も適した構造はどれですか。
- Aソートされていない連結リスト
- B平衡二分探索木
- Cスタック
- Dハッシュテーブル
6.ふつう
オープンアドレス法を使うハッシュテーブルで、負荷率の最大値はいくつですか。
- A2
- B0.5
- C1
- D最大値はない
7.むずかしい
ハッシュテーブルが正しく動作するためには、ハッシュと等価性はどの規則に従わなければなりませんか。
- Aハッシュ値は素数でなければならない
- B等しいキーは等しいハッシュ値をもたなければならない
- Cハッシュ値が等しければキーも等しい
- D異なるキーは異なるハッシュ値をもたなければならない
8.むずかしい
ある動的配列は満杯になるとサイズを 2 倍にします。多くの実装が、半分ではなく 4 分の 1 まで減ったときにだけ縮小するのはなぜですか。
- Aメモリアロケータはブロックの 4 分の 1 単位でしかメモリを解放できないから
- B境界付近で push と pop が交互に起こるときに、サイズ変更が繰り返されるのを避けるため
- C半分で半減させると要素が失われるから
- D配列をソートされた状態に保つため
解答
- 1. A · 隣接する頂点のリスト
- 2. C · null(ノードなし)
- 3. A · 両端での挿入と削除を許す構造
- 4. B · n(連結リストのようになる)
- 5. B · 平衡二分探索木
- 6. C · 1
- 7. B · 等しいキーは等しいハッシュ値をもたなければならない
- 8. B · 境界付近で push と pop が交互に起こるときに、サイズ変更が繰り返されるのを避けるため
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。