ใบงาน โครงสร้างข้อมูล พร้อมเฉลย

ใบงาน โครงสร้างข้อมูล ฟรีสำหรับพิมพ์: 8 ข้อ ตั้งแต่ระดับง่ายถึงระดับข้อสอบจริง พร้อมเฉลย พิมพ์หรือบันทึกเป็น PDF ได้

ใบงานใหม่ฝึกออนไลน์พร้อมคำใบ้

สำหรับผู้สอน: พิมพ์ ทำสำเนา และใช้ในชั้นเรียนได้ฟรี ใบงานใหม่แต่ละชุดมีค่าตัวเลขใหม่และเฉลยของตัวเอง หากใส่ลิงก์ไปยัง ExamProblems ในหน้ารายวิชาของคุณ เราจะขอบคุณมาก

ชื่อ: ____________________   วันที่: ____________

1.ง่าย

ในการแทนกราฟด้วยรายการประชิด (adjacency list) เก็บอะไรสำหรับแต่ละจุดยอด

  1. Aจำนวนเส้นเชื่อมทั้งหมดในกราฟ
  2. Bเส้นทางสั้นที่สุดไปยังทุกจุดยอดอื่น
  3. Cแถวของค่าบูลีน V ค่า
  4. Dรายการของจุดยอดข้างเคียง
2.ง่าย

ตารางแฮชเก็บข้อมูลเป็น

  1. Aรายการที่เรียงลำดับเท่านั้น
  2. Bคู่คีย์–ค่าที่หาตำแหน่งด้วยฟังก์ชันแฮช
  3. Cสตริงความยาวคงที่
  4. Dต้นไม้ที่คีย์เรียงลำดับ
3.ง่าย

ต้นไม้ที่มี n โหนดมีเส้นเชื่อมกี่เส้น

  1. A2n
  2. Bn + 1
  3. Cn − 1
  4. Dn
4.ปานกลาง

เมทริกซ์ประชิด (adjacency matrix) ของกราฟที่มี V จุดยอดใช้หน่วยความจำเท่าใด

  1. AO(V²)
  2. BO(E)
  3. CO(log V)
  4. DO(V + E)
5.ปานกลาง

อัลกอริทึมของ Dijkstra ใช้ชนิดข้อมูลนามธรรมใดเลือกจุดยอดถัดไปที่จะประมวลผล

  1. Aคิว FIFO
  2. Bเซตที่ไม่มีลำดับ
  3. Cคิวลำดับความสำคัญแบบค่าต่ำสุด (min-priority queue)
  4. Dสแตก
6.ปานกลาง

ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ preorder คืออะไร

  1. A1 2 4 5 3
  2. B1 2 3 4 5
  3. C4 2 5 1 3
  4. D4 5 2 3 1
7.ยาก

ความซับซ้อนเชิงเวลาของ decrease-key ในฮีปทวิภาค (เมื่อทราบตำแหน่งของสมาชิก) คือ

  1. AO(1)
  2. BO(n log n)
  3. CO(log n)
  4. DO(n)
8.ยาก

อาร์เรย์พลวัตเพิ่มเป็นสองเท่าเมื่อเต็ม เหตุใดหลายการสร้างจึงหดมันเมื่อเหลือเพียงหนึ่งในสี่เท่านั้น ไม่ใช่ครึ่งหนึ่ง

  1. Aเพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
  2. Bเพราะการหดที่ครึ่งหนึ่งทำให้สมาชิกหาย
  3. Cเพื่อให้อาร์เรย์เรียงลำดับ
  4. Dเพราะตัวจัดสรรหน่วยความจำคืนหน่วยความจำได้เฉพาะเป็นหนึ่งในสี่ของบล็อกเท่านั้น

เฉลย

  1. 1. D · รายการของจุดยอดข้างเคียง
  2. 2. B · คู่คีย์–ค่าที่หาตำแหน่งด้วยฟังก์ชันแฮช
  3. 3. C · n − 1
  4. 4. A · O(V²)
  5. 5. C · คิวลำดับความสำคัญแบบค่าต่ำสุด (min-priority queue)
  6. 6. A · 1 2 4 5 3
  7. 7. C · O(log n)
  8. 8. A · เพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต

เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com