1.やさしい
配列では O(1) だが、単方向連結リストでは O(n) となる操作はどれですか。
- A先頭の要素の削除
- B最初の要素の読み取り
- Cインデックス i の要素へのアクセス
- D先頭への挿入
2.やさしい
無向グラフにおいて、頂点の次数(degree)とは何ですか。
- A隣接リストにおけるその位置
- Bその頂点からの最長経路の長さ
- Cその頂点につながっている辺の数
- Dグラフの頂点の数
3.やさしい
二分探索木において、あるノードの左部分木にある値はどうなっていますか。
- Aランダムな順序
- Bそのノードの値より大きい
- Cそのノードの値と等しい
- Dそのノードの値より小さい
4.ふつう
あるアプリケーションには高速な検索が必要で、さらにキーをソート順に一覧にしたり、範囲クエリに答えたりする必要もあります。最も適した構造はどれですか。
- Aソートされていない連結リスト
- B平衡二分探索木
- Cハッシュテーブル
- Dスタック
5.ふつう
衝突したキーを同じバケット内のリストに格納する衝突解決法はどれですか。
- A二次探査法(Quadratic probing)
- Bダブルハッシュ法(Double hashing)
- Cチェイン法(Separate chaining)
- D線形探査法(Linear probing)
6.ふつう
トライ(接頭辞木)が特に効率的なのはどのような用途ですか。
- A行列の格納
- B最短経路の探索
- C数値のソート
- Dオートコンプリートなどの接頭辞検索
7.むずかしい
ダブルハッシュ法が主に軽減する線形探査法の問題はどれですか。
- Aハッシュ関数が必要であること
- Bキーの値を読み取る O(n) のコスト
- Cキーをテーブルに格納する必要があること
- D使用中のスロットが長く連なる一次クラスタリング
8.むずかしい
標準的なブルームフィルタから、ビットをクリアするだけで要素を削除できないのはなぜですか。
- Aブルームフィルタは要素全体を格納しており、いったんハッシュ化されると再び見つけられないから
- Bそれらのビットは他の要素にも属している可能性があり、偽陰性を引き起こすから
- Cブルームフィルタのビットは作成後に変更できないから
- D削除すると偽陽性率が 100% に上がるから
解答
- 1. C · インデックス i の要素へのアクセス
- 2. C · その頂点につながっている辺の数
- 3. D · そのノードの値より小さい
- 4. B · 平衡二分探索木
- 5. C · チェイン法(Separate chaining)
- 6. D · オートコンプリートなどの接頭辞検索
- 7. D · 使用中のスロットが長く連なる一次クラスタリング
- 8. B · それらのビットは他の要素にも属している可能性があり、偽陰性を引き起こすから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。