解答つきデータ構造ワークシート

無料で印刷できるデータ構造のワークシート:やさしい問題から試験レベルまで 8 問、解答つき。印刷するか PDF で保存できます。

先生方へ: 授業で自由に印刷・コピーしてお使いいただけます。新しいワークシートごとに数値が変わり、専用の解答が付きます。授業ページに ExamProblems へのリンクを載せていただけると嬉しいです。

名前: ____________________   日付: ____________

1.やさしい

単方向連結リストでは、各ノードに何が含まれていますか。

  1. Aデータと次のノードへの参照
  2. Bデータと他のすべてのノードへの参照
  3. Cデータとインデックス
  4. Dデータのみ
2.やさしい

無向グラフにおいて、頂点の次数(degree)とは何ですか。

  1. Aグラフの頂点の数
  2. Bその頂点からの最長経路の長さ
  3. C隣接リストにおけるその位置
  4. Dその頂点につながっている辺の数
3.やさしい

木のレベル順(level-order)走査を行うのに使われるデータ構造はどれですか。

  1. Aスタック
  2. B優先度付きキュー
  3. Cキュー
  4. Dハッシュテーブル
4.ふつう

実行中のプログラムが、有効な関数呼び出しとそのローカル変数を管理するために使うデータ構造はどれですか。

  1. Aフレームの二分探索木
  2. Bコールスタック
  3. C関数のハッシュテーブル
  4. Dヒープメモリのキュー
5.ふつう

V 個の頂点と E 本の辺をもつグラフについて、隣接リストはどれだけのメモリを使いますか。

  1. AO(V + E)
  2. BO(E²)
  3. CO(V²)
  4. DO(V × E)
6.ふつう

循環バッファ(リングバッファ)は一般的に何を実装するために使われますか。

  1. A二分探索木
  2. Bグラフ探索
  3. C固定サイズのキュー
  4. Dハッシュ関数
7.むずかしい

データベースやファイルシステムで B 木が使われるのはなぜですか。

  1. A再平衡化が不要だから
  2. B分岐数が大きいため木が浅く保たれ、遅いディスク読み込みが減るから
  3. Cデータをソートせずに格納するから
  4. Dどの配列よりもメモリ使用量が少ないので、索引全体が常に主記憶に収まるから
8.むずかしい

セグメント木は一般的に何に使われますか。

  1. A区間クエリ(区間和など)と更新を O(log n) で処理する
  2. Bグラフの辺を格納する
  3. Cスタックを実装する
  4. D各接頭辞を別々の木のノードに格納することで、文字列をアルファベット順にソートする

解答

  1. 1. A · データと次のノードへの参照
  2. 2. D · その頂点につながっている辺の数
  3. 3. C · キュー
  4. 4. B · コールスタック
  5. 5. A · O(V + E)
  6. 6. C · 固定サイズのキュー
  7. 7. B · 分岐数が大きいため木が浅く保たれ、遅いディスク読み込みが減るから
  8. 8. A · 区間クエリ(区間和など)と更新を O(log n) で処理する

ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。