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

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

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

名前: ____________________   日付: ____________

1.やさしい

二分木の帰りがけ順(postorder)の走査は、どの順序でノードを訪問しますか。

  1. A左部分木、次に右部分木、次にノード
  2. B左部分木、次にノード、次に右部分木
  3. Cノード、次に左部分木、次に右部分木
  4. D右部分木、次にノード、次に左部分木
2.やさしい

テキストエディタの「元に戻す」(undo)機能に最も適したデータ構造はどれですか。

  1. Aハッシュセット
  2. Bグラフ
  3. Cスタック
  4. Dキュー
3.やさしい

スタックに対する peek(または top)操作は何をしますか。

  1. A一番上の要素を取り除かずに返す
  2. Bスタックからすべての要素を取り除く
  3. C一番上の要素を取り除いて返す
  4. Dスタックの一番下の要素を返す
4.ふつう

容量 n の配列に格納された循環キューで、インデックス i の次の位置はどのように計算されますか。

  1. A(i − 1) mod n
  2. B2i + 1
  3. C(i + 1) mod n
  4. Di + 1
5.ふつう

無向グラフの隣接行列について正しいのはどれですか。

  1. A主対角線に関して対称である
  2. B主対角線には常に 1 が入っている
  3. C各行にちょうど 1 つの 1 がある
  4. D常に上三角行列である
6.ふつう

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

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

サーバーがハッシュ関数を万能(universal)族からランダムに選ぶのはなぜですか。

  1. Aテーブルのサイズを変更する必要をなくすため
  2. B攻撃者がどのようなキーを送っても、2 つのキーが決して衝突しないことを保証するため
  3. Cハッシュテーブルをソートされた状態にするため
  4. D攻撃者がすべて衝突する多数のキーを選べる可能性をきわめて低くするため
8.むずかしい

n 個の数の配列に対するフェニック木(Binary Indexed Tree)が O(log n) でサポートする操作はどれですか。

  1. AO(1) での中央値の検索
  2. B接頭辞和のクエリと単一要素の更新
  3. C任意の位置への要素の挿入
  4. D配列のソートと二分探索

解答

  1. 1. A · 左部分木、次に右部分木、次にノード
  2. 2. C · スタック
  3. 3. A · 一番上の要素を取り除かずに返す
  4. 4. C · (i + 1) mod n
  5. 5. A · 主対角線に関して対称である
  6. 6. A · 完全二分木なので、位置が単純なインデックスの式に従うから
  7. 7. D · 攻撃者がすべて衝突する多数のキーを選べる可能性をきわめて低くするため
  8. 8. B · 接頭辞和のクエリと単一要素の更新

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