1.やさしい
静的配列と動的配列の主な違いは何ですか。
- A動的配列は、より大きなメモリブロックに移ることで拡張できる
- B静的配列は数値しか格納できない
- C静的配列はインデックスによるアクセスが遅い
- D動的配列は要素を連結されたノードに格納するので、1 つずつ拡張できる
2.やさしい
グラフは何で構成されていますか。
- A行と列
- Bキーとハッシュ値のみ
- C根と葉のみ
- D辺(edge)で結ばれた頂点(vertex、ノード)
3.やさしい
二分木の行きがけ順(preorder)の走査は、どの順序でノードを訪問しますか。
- A左部分木、次にノード、次に右部分木
- Bノード、次に左部分木、次に右部分木
- C上から 1 レベルずつ
- D左部分木、次に右部分木、次にノード
4.ふつう
リストの中ほどにあるノードへの参照をもっています。どのリストなら、それを O(1) で削除できますか。
- A双方向連結リスト
- B単方向連結リスト
- C動的配列
- Dソート済み配列
5.ふつう
連結リストにおける番兵(ダミー)ノードの目的は何ですか。
- Aリストをソートされた状態にする
- Bリストのノード数が決まった最大値を超えて増えないようにする
- C要素の数を格納する
- D先頭や末尾での特別な場合をなくしてコードを単純にする
6.ふつう
無向グラフの隣接行列について正しいのはどれですか。
- A主対角線には常に 1 が入っている
- B主対角線に関して対称である
- C常に上三角行列である
- D各行にちょうど 1 つの 1 がある
7.むずかしい
ヒープソートについて正しい記述はどれですか。
- A追加の記憶領域として二分探索木を必要とするので、O(n) の追加メモリを使う
- Bどの入力に対しても O(n) 時間で動作する
- C安定で、O(n) の追加メモリを必要とする
- D最悪 O(n log n) 時間でその場でソートするが、安定ではない
8.むずかしい
異なるキーをもつ二分木を常に一意に決定する走査の組はどれですか。
- A行きがけ順だけ
- B行きがけ順と通りがけ順
- Cレベル順だけ
- D行きがけ順と帰りがけ順
解答
- 1. A · 動的配列は、より大きなメモリブロックに移ることで拡張できる
- 2. D · 辺(edge)で結ばれた頂点(vertex、ノード)
- 3. B · ノード、次に左部分木、次に右部分木
- 4. A · 双方向連結リスト
- 5. D · 先頭や末尾での特別な場合をなくしてコードを単純にする
- 6. B · 主対角線に関して対称である
- 7. D · 最悪 O(n log n) 時間でその場でソートするが、安定ではない
- 8. B · 行きがけ順と通りがけ順
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。