1.やさしい
スタックの一番上に要素を追加する操作の名前は何ですか。
- Aピーク(Peek)
- Bプッシュ(Push)
- Cポップ(Pop)
- Dエンキュー(Enqueue)
2.やさしい
重み付きグラフとは何ですか。
- A各辺がコストや距離などの数値をもつグラフ
- B頂点より辺の方が多いグラフ
- Cディスクに格納されたグラフ
- D辺の数が多いために、一部の頂点が他の頂点より重くなっているグラフ
3.やさしい
双方向連結リストの各ノードには何が含まれていますか。
- Aデータと次のノードへのポインタだけ
- Bデータの 2 つのコピーと 1 つのポインタ
- Cデータ、次のノードへのポインタ、前のノードへのポインタ
- Dデータと 2 つのポインタ(次のノードへのものと、その次のノードへのもの)
4.ふつう
二分ヒープをポインタなしで配列に格納できるのはなぜですか。
- A配列は自動的にキーをソート順に保つので、ポインタが不要になるから
- Bヒープは 100 個を超える要素を含むことがないから
- Cヒープのすべてのキーは等しいから
- D完全二分木なので、位置が単純なインデックスの式に従うから
5.ふつう
インデックス 0 から始まる配列に格納された二分ヒープで、インデックス i のノードの親はどこにありますか。
- Aインデックス 2i + 1
- Bインデックス ⌊i / 2⌋ + 1
- Cインデックス ⌊(i − 1) / 2⌋
- Dインデックス i − 1
6.ふつう
二分探索木で最小のキーはどのように見つけますか。
- A根だけを見る
- B根から右の子がなくなるまで右の子をたどる
- Cすべての葉を訪問して比べる
- D根から左の子がなくなるまで左の子をたどる
7.むずかしい
サーバーがハッシュ関数を万能(universal)族からランダムに選ぶのはなぜですか。
- Aテーブルのサイズを変更する必要をなくすため
- B攻撃者がどのようなキーを送っても、2 つのキーが決して衝突しないことを保証するため
- Cハッシュテーブルをソートされた状態にするため
- D攻撃者がすべて衝突する多数のキーを選べる可能性をきわめて低くするため
8.むずかしい
基数木(radix tree、圧縮トライ)は通常のトライをどのように改良していますか。
- A各単語を別々のノードではなく、根にあるハッシュテーブルに格納する
- B各ノードの子を頻度順にソートする
- C各単語の最初の文字だけを保持する
- D子が 1 つだけのノードの連なりを、文字列でラベル付けされた 1 本の辺にまとめる
解答
- 1. B · プッシュ(Push)
- 2. A · 各辺がコストや距離などの数値をもつグラフ
- 3. C · データ、次のノードへのポインタ、前のノードへのポインタ
- 4. D · 完全二分木なので、位置が単純なインデックスの式に従うから
- 5. C · インデックス ⌊(i − 1) / 2⌋
- 6. D · 根から左の子がなくなるまで左の子をたどる
- 7. D · 攻撃者がすべて衝突する多数のキーを選べる可能性をきわめて低くするため
- 8. D · 子が 1 つだけのノードの連なりを、文字列でラベル付けされた 1 本の辺にまとめる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。