1.やさしい
配列では遅いが、連結リストの先頭では速い操作はどれですか。
- Aインデックスによる最後の要素の読み取り
- B5 番目の要素へのアクセス
- C先頭への挿入
- D固定長配列の長さの取得
2.やさしい
テキストエディタの「元に戻す」(undo)機能に最も適したデータ構造はどれですか。
- Aキュー
- Bハッシュセット
- Cグラフ
- Dスタック
3.やさしい
キューの先頭の要素を取り除く操作の名前は何ですか。
- Aエンキュー(Enqueue)
- Bデキュー(Dequeue)
- Cインサート(Insert)
- Dプッシュ(Push)
4.ふつう
後置記法の式 3 4 + 2 * の値は何ですか。
- A11
- B10
- C24
- D14
5.ふつう
高さを辺の数で数えるとき、高さ h の完全(perfect)二分木にはいくつのノードがありますか。
- A2h + 1
- B2h+1 − 1
- Ch2
- D2h
6.ふつう
隣接行列を使って辺 (u, v) が存在するかを調べるのにどれだけ時間がかかりますか。
- AO(1)
- BO(E)
- CO(V)
- DO(log V)
7.むずかしい
オープンアドレス法を使うハッシュテーブルで、削除に「墓標」(tombstone)マーカーがよく使われるのはなぜですか。
- Aスロットを空にすると、他のキーの探査列が途切れる可能性があるから
- B安全のため削除したキーを永久に保持する必要があり、スロットを再利用できないから
- C墓標がハッシュ計算を高速化するから
- Dテーブルがソートされた状態になるから
8.むずかしい
クラスカルの最小全域木アルゴリズムで、union-find 構造は何に使われますか。
- A辺の両端点がすでにつながっているかどうかを調べる
- B開始頂点を選ぶ
- C探索中に、各頂点の始点からの現在の距離を格納する
- D辺を重みの順にソートする
解答
- 1. C · 先頭への挿入
- 2. D · スタック
- 3. B · デキュー(Dequeue)
- 4. D · 14
- 5. B · 2h+1 − 1
- 6. A · O(1)
- 7. A · スロットを空にすると、他のキーの探査列が途切れる可能性があるから
- 8. A · 辺の両端点がすでにつながっているかどうかを調べる
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。