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

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

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

名前: ____________________   日付: ____________

1.やさしい

木において、兄弟(sibling)ノードとは何ですか。

  1. Aあるノードとその親
  2. B異なる部分木の同じ深さにあるノード
  3. C子をもたないノード
  4. D同じ親をもつノード
2.やさしい

静的配列と動的配列の主な違いは何ですか。

  1. A静的配列は数値しか格納できない
  2. B動的配列は、より大きなメモリブロックに移ることで拡張できる
  3. C動的配列は要素を連結されたノードに格納するので、1 つずつ拡張できる
  4. D静的配列はインデックスによるアクセスが遅い
3.やさしい

有向グラフとは何ですか。

  1. A閉路をもたないグラフ
  2. B辺がある頂点から別の頂点への向きをもつグラフ
  3. C相異なるすべての頂点対が辺で結ばれているグラフ
  4. Dすべての辺が重みをもつグラフ
4.ふつう

2 つのスタックでキューを実装します。「in」スタックに push し、「out」スタックから pop し、「out」が空になったら「in」から補充します。1 回の操作あたりのならしコストはどれですか。

  1. AO(n²)
  2. BO(n)
  3. CO(1)
  4. DO(log n)
5.ふつう

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

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

二分ヒープをポインタなしで配列に格納できるのはなぜですか。

  1. A完全二分木なので、位置が単純なインデックスの式に従うから
  2. Bヒープは 100 個を超える要素を含むことがないから
  3. C配列は自動的にキーをソート順に保つので、ポインタが不要になるから
  4. Dヒープのすべてのキーは等しいから
7.むずかしい

二分探索木から 2 つの子を持つノードを削除するには、通常どうしますか。

  1. Aその下の部分木を一から作り直し、含まれていたすべてのキーを挿入し直す
  2. B根と入れ替える
  3. C中間順の後続ノード(または先行ノード)で置き換え、そのノードを削除する
  4. D部分木全体を削除する
8.むずかしい

オープンアドレス法を使うハッシュテーブルで、削除に「墓標」(tombstone)マーカーがよく使われるのはなぜですか。

  1. A墓標がハッシュ計算を高速化するから
  2. B安全のため削除したキーを永久に保持する必要があり、スロットを再利用できないから
  3. Cスロットを空にすると、他のキーの探査列が途切れる可能性があるから
  4. Dテーブルがソートされた状態になるから

解答

  1. 1. D · 同じ親をもつノード
  2. 2. B · 動的配列は、より大きなメモリブロックに移ることで拡張できる
  3. 3. B · 辺がある頂点から別の頂点への向きをもつグラフ
  4. 4. C · O(1)
  5. 5. C · O(V + E)
  6. 6. A · 完全二分木なので、位置が単純なインデックスの式に従うから
  7. 7. C · 中間順の後続ノード(または先行ノード)で置き換え、そのノードを削除する
  8. 8. C · スロットを空にすると、他のキーの探査列が途切れる可能性があるから

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