1.やさしい
二分木を定義するものは何ですか。
- A木がちょうど 2 つのレベルをもつ
- Bすべてのノードが 2 進数を格納する
- Cすべてのノードが高々 2 つの子をもつ
- Dすべてのノードがちょうど 2 つの子をもつ
2.やさしい
静的配列と動的配列の主な違いは何ですか。
- A静的配列はインデックスによるアクセスが遅い
- B静的配列は数値しか格納できない
- C動的配列は要素を連結されたノードに格納するので、1 つずつ拡張できる
- D動的配列は、より大きなメモリブロックに移ることで拡張できる
3.やさしい
スタックの一番上に要素を追加する操作の名前は何ですか。
- Aプッシュ(Push)
- Bピーク(Peek)
- Cエンキュー(Enqueue)
- Dポップ(Pop)
4.ふつう
インデックス 0 から始まる配列に格納された二分ヒープで、インデックス i のノードの親はどこにありますか。
- Aインデックス ⌊(i − 1) / 2⌋
- Bインデックス ⌊i / 2⌋ + 1
- Cインデックス i − 1
- Dインデックス 2i + 1
5.ふつう
あるアプリケーションには高速な検索が必要で、さらにキーをソート順に一覧にしたり、範囲クエリに答えたりする必要もあります。最も適した構造はどれですか。
- A平衡二分探索木
- Bスタック
- Cハッシュテーブル
- Dソートされていない連結リスト
6.ふつう
AVL 木と赤黒木が保証するものは何ですか。
- Aキーが挿入順に格納されること
- B2 つの子を持つノードが存在しないこと
- Cどの場合でも定数時間での探索
- D再平衡化による O(log n) の高さ
7.むずかしい
すべての B 木を完全に平衡に保っている性質はどれですか。
- Aすべての葉が同じ深さにある
- Bキーは根にだけ格納される
- Cすべてのノードがちょうど 2 つの子をもつ
- D各ノードは 1 つのキーを格納する
8.むずかしい
ソート済み連結リストと比べたスキップリストの主な利点は何ですか。
- Aキーを順序なしで格納する
- Bすべてのノードが他のすべてのノードへのポインタを持つので、O(1) の探索が保証される
- C追加のメモリを使わない
- D複数レベルの前方ポインタにより期待値 O(log n) で探索できる
解答
- 1. C · すべてのノードが高々 2 つの子をもつ
- 2. D · 動的配列は、より大きなメモリブロックに移ることで拡張できる
- 3. A · プッシュ(Push)
- 4. A · インデックス ⌊(i − 1) / 2⌋
- 5. A · 平衡二分探索木
- 6. D · 再平衡化による O(log n) の高さ
- 7. A · すべての葉が同じ深さにある
- 8. D · 複数レベルの前方ポインタにより期待値 O(log n) で探索できる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。