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

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

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

名前: ____________________   日付: ____________

1.やさしい

配列では遅いが、連結リストの先頭では速い操作はどれですか。

  1. A固定長配列の長さの取得
  2. Bインデックスによる最後の要素の読み取り
  3. C先頭への挿入
  4. D5 番目の要素へのアクセス
2.やさしい

優先度付きキューの実装に一般的に使われる構造はどれですか。

  1. Aスタック
  2. B文字列
  3. Cヒープ
  4. D順序のない単方向連結リスト
3.やさしい

二分探索木において、あるノードの左部分木にある値はどうなっていますか。

  1. Aそのノードの値より大きい
  2. Bそのノードの値と等しい
  3. Cランダムな順序
  4. Dそのノードの値より小さい
4.ふつう

衝突したキーを同じバケット内のリストに格納する衝突解決法はどれですか。

  1. Aダブルハッシュ法(Double hashing)
  2. B線形探査法(Linear probing)
  3. Cチェイン法(Separate chaining)
  4. D二次探査法(Quadratic probing)
5.ふつう

サイズ 7 のハッシュテーブルが h(k) = k mod 7 と線形探査法を使っています。10 を挿入した後、17 はどこに格納されますか。

  1. Aインデックス 0
  2. Bインデックス 6
  3. Cインデックス 4
  4. Dインデックス 3
6.ふつう

AVL 木はすべてのノードでどのような平衡条件を保っていますか。

  1. Aすべてのノードが赤または黒に塗られている
  2. Bすべての葉がちょうど同じ深さにある
  3. Cすべてのノードの両方の部分木が、まったく同じ数のノードを含む
  4. D左右の部分木の高さの差が高々 1 である
7.むずかしい

あるオブジェクトをハッシュマップのキーとして格納した後、そのハッシュ関数で使われるフィールドを変更しました。起こりうる結果はどれですか。

  1. Aフィールドが変更された瞬間にマップがエラーを投げる
  2. Bマップが自動的にキーを新しいバケットに移す
  3. Cオブジェクトは古いハッシュのバケットにあるので、検索に失敗することがある
  4. Dキーのハッシュはプログラムの開始時に 1 回しか計算されないので、何も変わらない
8.むずかしい

ダブルハッシュ法が主に軽減する線形探査法の問題はどれですか。

  1. Aキーの値を読み取る O(n) のコスト
  2. Bキーをテーブルに格納する必要があること
  3. C使用中のスロットが長く連なる一次クラスタリング
  4. Dハッシュ関数が必要であること

解答

  1. 1. C · 先頭への挿入
  2. 2. C · ヒープ
  3. 3. D · そのノードの値より小さい
  4. 4. C · チェイン法(Separate chaining)
  5. 5. C · インデックス 4
  6. 6. D · 左右の部分木の高さの差が高々 1 である
  7. 7. C · オブジェクトは古いハッシュのバケットにあるので、検索に失敗することがある
  8. 8. C · 使用中のスロットが長く連なる一次クラスタリング

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