1.やさしい
二分探索木において、あるノードの左部分木にある値はどうなっていますか。
- Aそのノードの値と等しい
- Bそのノードの値より小さい
- Cそのノードの値より大きい
- Dランダムな順序
2.やさしい
単方向連結リストでは、各ノードに何が含まれていますか。
- Aデータと他のすべてのノードへの参照
- Bデータとインデックス
- Cデータのみ
- Dデータと次のノードへの参照
3.やさしい
グラフは何で構成されていますか。
- A根と葉のみ
- B辺(edge)で結ばれた頂点(vertex、ノード)
- Cキーとハッシュ値のみ
- D行と列
4.ふつう
トライ(接頭辞木)が特に効率的なのはどのような用途ですか。
- A最短経路の探索
- B行列の格納
- Cオートコンプリートなどの接頭辞検索
- D数値のソート
5.ふつう
あるアプリケーションには高速な検索が必要で、さらにキーをソート順に一覧にしたり、範囲クエリに答えたりする必要もあります。最も適した構造はどれですか。
- Aスタック
- Bハッシュテーブル
- C平衡二分探索木
- Dソートされていない連結リスト
6.ふつう
リストの中ほどにあるノードへの参照をもっています。どのリストなら、それを O(1) で削除できますか。
- A動的配列
- B双方向連結リスト
- C単方向連結リスト
- Dソート済み配列
7.むずかしい
ランクによる合併(union by rank)も経路圧縮も使わない場合、n 要素の union-find 構造での 1 回の find の最悪コストはどれですか。
- AO(α(n))
- BO(n)
- CO(log n)
- DO(1)
8.むずかしい
基数木(radix tree、圧縮トライ)は通常のトライをどのように改良していますか。
- A各単語の最初の文字だけを保持する
- B子が 1 つだけのノードの連なりを、文字列でラベル付けされた 1 本の辺にまとめる
- C各ノードの子を頻度順にソートする
- D各単語を別々のノードではなく、根にあるハッシュテーブルに格納する
解答
- 1. B · そのノードの値より小さい
- 2. D · データと次のノードへの参照
- 3. B · 辺(edge)で結ばれた頂点(vertex、ノード)
- 4. C · オートコンプリートなどの接頭辞検索
- 5. C · 平衡二分探索木
- 6. B · 双方向連結リスト
- 7. B · O(n)
- 8. B · 子が 1 つだけのノードの連なりを、文字列でラベル付けされた 1 本の辺にまとめる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。