1.やさしい
木のレベル順(level-order)走査を行うのに使われるデータ構造はどれですか。
- Aスタック
- Bハッシュテーブル
- Cキュー
- D優先度付きキュー
2.やさしい
配列では O(1) だが、単方向連結リストでは O(n) となる操作はどれですか。
- A先頭への挿入
- Bインデックス i の要素へのアクセス
- C最初の要素の読み取り
- D先頭の要素の削除
3.やさしい
単方向連結リストでは、各ノードに何が含まれていますか。
- Aデータと次のノードへの参照
- Bデータと他のすべてのノードへの参照
- Cデータのみ
- Dデータとインデックス
4.ふつう
二分最小ヒープの extract-min はどのように動作しますか。
- A配列の最後の要素を取り除く
- B根を取り除き、すべての要素を 1 つ左にずらす
- Cすべての葉から新しい最小値を探す
- D最後の要素を根に移し、下へ移動させる(sift down)
5.ふつう
実行中のプログラムが、有効な関数呼び出しとそのローカル変数を管理するために使うデータ構造はどれですか。
- Aヒープメモリのキュー
- Bフレームの二分探索木
- Cコールスタック
- D関数のハッシュテーブル
6.ふつう
あるアプリケーションには高速な検索が必要で、さらにキーをソート順に一覧にしたり、範囲クエリに答えたりする必要もあります。最も適した構造はどれですか。
- Aハッシュテーブル
- Bスタック
- C平衡二分探索木
- Dソートされていない連結リスト
7.むずかしい
赤黒木の規則は、n 個のキーをもつ木の高さについてどのような保証を与えますか。
- A高さは高々 2 log2(n + 1) である
- B高さはちょうど log2 n である
- C高さは高々 n / 2 である
- D高さは高々 log2 n + 1 である
8.むずかしい
キー 5, 3, 8, 1 をこの順に、空の配列ベースの二分最小ヒープに挿入します。最終的な配列はどれですか。
- A[1, 3, 8, 5]
- B[3, 1, 8, 5]
- C[1, 3, 5, 8]
- D[1, 5, 8, 3]
解答
- 1. C · キュー
- 2. B · インデックス i の要素へのアクセス
- 3. A · データと次のノードへの参照
- 4. D · 最後の要素を根に移し、下へ移動させる(sift down)
- 5. C · コールスタック
- 6. C · 平衡二分探索木
- 7. A · 高さは高々 2 log2(n + 1) である
- 8. A · [1, 3, 8, 5]
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。