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

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

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

名前: ____________________   日付: ____________

1.やさしい

二分最小ヒープの最小の要素はどこにありますか。

  1. A最も左の葉
  2. B配列の最後の位置
  3. C根
  4. Dいずれかの葉にあり、探さなければならない
2.やさしい

木の根(ルート)とは何ですか。

  1. A子を持たないノード
  2. B中間にある任意のノード
  3. C親を持たない最上位のノード
  4. D最大の値を持つノード
3.やさしい

配列では O(1) だが、単方向連結リストでは O(n) となる操作はどれですか。

  1. A先頭への挿入
  2. B最初の要素の読み取り
  3. Cインデックス i の要素へのアクセス
  4. D先頭の要素の削除
4.ふつう

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

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

n 要素の配列の中央に要素を挿入するコストはどれですか。

  1. A各要素が n 回移動するので O(n²)
  2. B後ろの要素をずらさなければならないので O(n)
  3. C二分探索のため O(log n)
  4. Dインデックスがわかっているので O(1)
6.ふつう

二分ヒープに新しい要素はどのように挿入されますか。

  1. Aより大きい要素をすべて 1 つ右にずらして、ソートされた位置に挿入する
  2. Bヒープ全体を一から作り直す
  3. C配列の末尾に置き、ヒープ性に反している間は上へ移動させる(sift up)
  4. D根に置き、下へ移動させる(sift down)
7.むずかしい

データベースがインデックスに通常の B 木ではなく B+ 木をよく使うのはなぜですか。

  1. AB+ 木はデータを根にだけ格納するから
  2. Bすべてのレコードが連結された葉にあるので、範囲の走査が効率的になるから
  3. CB+ 木は二分の内部ノードを使うので、ディスクの読み取りが減るから
  4. DB+ 木は平衡を保つ必要がないから
8.むずかしい

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

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

解答

  1. 1. C · 根
  2. 2. C · 親を持たない最上位のノード
  3. 3. C · インデックス i の要素へのアクセス
  4. 4. B · 完全二分木なので、位置が単純なインデックスの式に従うから
  5. 5. B · 後ろの要素をずらさなければならないので O(n)
  6. 6. C · 配列の末尾に置き、ヒープ性に反している間は上へ移動させる(sift up)
  7. 7. B · すべてのレコードが連結された葉にあるので、範囲の走査が効率的になるから
  8. 8. B · 中間順の後続ノード(または先行ノード)で置き換え、そのノードを削除する

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