1.やさしい
グラフの隣接リスト表現では、各頂点について何が格納されますか。
- AV 個の真偽値からなる行
- B他のすべての頂点への最短経路
- C隣接する頂点のリスト
- Dグラフの辺の総数
2.やさしい
二分木を定義するものは何ですか。
- Aすべてのノードがちょうど 2 つの子をもつ
- B木がちょうど 2 つのレベルをもつ
- Cすべてのノードが 2 進数を格納する
- Dすべてのノードが高々 2 つの子をもつ
3.やさしい
静的配列と動的配列の主な違いは何ですか。
- A動的配列は要素を連結されたノードに格納するので、1 つずつ拡張できる
- B静的配列は数値しか格納できない
- C動的配列は、より大きなメモリブロックに移ることで拡張できる
- D静的配列はインデックスによるアクセスが遅い
4.ふつう
サイズ 7 のハッシュテーブルが h(k) = k mod 7 と線形探査法を使っています。10 を挿入した後、17 はどこに格納されますか。
- Aインデックス 3
- Bインデックス 0
- Cインデックス 4
- Dインデックス 6
5.ふつう
固定のアルファベットをもつトライで、長さ L の単語を探索するのにどれだけ時間がかかりますか。
- A格納されている単語の数に関係なく O(L)
- B単語の数を n として O(log n)
- CO(L × n)
- D単語の数を n として O(n)
6.ふつう
高さを辺の数で数えるとき、高さ h の完全(perfect)二分木にはいくつのノードがありますか。
- A2h+1 − 1
- B2h + 1
- Ch2
- D2h
7.むずかしい
単方向連結リストをその場で反転させる時間と追加領域のコストはどれですか。
- A時間 O(1)、追加領域 O(1)
- B時間 O(n)、追加領域 O(1)
- C時間 O(n log n)、追加領域 O(1)
- D時間 O(n)、追加領域 O(n)
8.むずかしい
ある AVL ノードは、その左の子の右部分木が高くなりすぎたために平衡が崩れています(左右の場合)。どのような修正が適用されますか。
- A左の子で右回転し、次にそのノードで左回転
- B左の子で左回転し、次にそのノードで右回転
- Cそのノードで 1 回の左回転
- Dそのノードで 1 回の右回転
解答
- 1. C · 隣接する頂点のリスト
- 2. D · すべてのノードが高々 2 つの子をもつ
- 3. C · 動的配列は、より大きなメモリブロックに移ることで拡張できる
- 4. C · インデックス 4
- 5. A · 格納されている単語の数に関係なく O(L)
- 6. A · 2h+1 − 1
- 7. B · 時間 O(n)、追加領域 O(1)
- 8. B · 左の子で左回転し、次にそのノードで右回転
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。