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

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

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

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

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

1.ง่าย

โครงสร้างข้อมูลใดเหมาะที่สุดสำหรับฟีเจอร์ "ย้อนกลับ" (undo) ในโปรแกรมแก้ไขข้อความ

  1. Aสแตก (stack)
  2. Bคิว (queue)
  3. Cเซตแฮช (hash set)
  4. Dกราฟ (graph)
2.ง่าย

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

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

รากของต้นไม้ (root) คืออะไร

  1. Aโหนดบนสุดที่ไม่มีโหนดแม่
  2. Bโหนดที่มีค่ามากที่สุด
  3. Cโหนดใดก็ได้ตรงกลาง
  4. Dโหนดที่ไม่มีโหนดลูก
4.ปานกลาง

ใน min-heap ทวิภาคที่เก็บในอาร์เรย์ (ดัชนีเริ่มที่ 0) ลูกของโหนดที่ดัชนี i อยู่ที่

  1. Ai + 1 และ i + 2
  2. B2i และ 2i + 1
  3. C2i + 1 และ 2i + 2
  4. Di/2 และ i/2 + 1
5.ปานกลาง

จะเกิดอะไรขึ้นเมื่อตารางแฮช rehash หลังตัวประกอบการโหลดเกินเกณฑ์

  1. Aย้ายเฉพาะคีย์ที่ชนกันไปยังลิสต์ล้นใหม่ที่ท้ายตาราง
  2. Bคีย์เก่าที่สุดถูกลบเพื่อให้มีที่ว่าง
  3. Cคีย์ที่มีอยู่ถูกเรียงในที่เดิม
  4. Dจัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
6.ปานกลาง

แทรกคีย์ 50, 30, 70, 20, 40 ตามลำดับนี้ลงใน binary search tree ว่าง ลูกซ้ายของ 30 คืออะไร

  1. A50
  2. B20
  3. C40
  4. D70
7.ยาก

อัลกอริทึมของ Kahn สำหรับการเรียงทอพอโลยีลบจุดยอดที่มี in-degree 0 ซ้ำ ๆ โครงสร้างใดเก็บจุดยอดเหล่านั้น

  1. Amax-heap เรียงตาม out-degree
  2. Bสแตกของเส้นเชื่อมที่เยี่ยมทั้งหมด
  3. Cคิว (หรือคอลเล็กชันใดก็ได้) ของจุดยอดที่มี in-degree เป็น 0
  4. Dเมทริกซ์ประชิดที่บันทึกว่าจุดยอดใดถูกลบไปแล้ว
8.ยาก

การกลับลิงก์ลิสต์เชิงเดี่ยวในที่เดิมมีต้นทุนด้านเวลาและพื้นที่เพิ่มเติมเท่าใด

  1. Aเวลา O(n log n) และพื้นที่เพิ่ม O(1)
  2. Bเวลา O(1) และพื้นที่เพิ่ม O(1)
  3. Cเวลา O(n) และพื้นที่เพิ่ม O(n)
  4. Dเวลา O(n) และพื้นที่เพิ่ม O(1)

เฉลย

  1. 1. A · สแตก (stack)
  2. 2. A · รายการของจุดยอดข้างเคียง
  3. 3. A · โหนดบนสุดที่ไม่มีโหนดแม่
  4. 4. C · 2i + 1 และ 2i + 2
  5. 5. D · จัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
  6. 6. B · 20
  7. 7. C · คิว (หรือคอลเล็กชันใดก็ได้) ของจุดยอดที่มี in-degree เป็น 0
  8. 8. D · เวลา O(n) และพื้นที่เพิ่ม O(1)

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