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

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

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

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

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

1.ง่าย

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

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

อะไรคือนิยามของต้นไม้ทวิภาค (binary tree)

  1. Aทุกโหนดมีลูกสองตัวพอดี
  2. Bต้นไม้มีสองระดับพอดี
  3. Cทุกโหนดมีลูกไม่เกินสองตัว
  4. Dทุกโหนดเก็บเลขฐานสอง
3.ง่าย

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

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

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

  1. A5 4 3 2 1
  2. B4 2 5 1 3
  3. C4 5 2 3 1
  4. D1 2 4 5 3
5.ปานกลาง

การตรวจว่ามีเส้นเชื่อม (u, v) หรือไม่ด้วยเมทริกซ์ประชิดใช้เวลาเท่าใด

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

จุดประสงค์ของโหนดยามเฝ้า (sentinel หรือ dummy) ในลิงก์ลิสต์คืออะไร

  1. Aเพื่อป้องกันไม่ให้ลิสต์ขยายเกินจำนวนโหนดสูงสุดที่กำหนดไว้
  2. Bเก็บจำนวนสมาชิก
  3. Cทำให้โค้ดง่ายขึ้นโดยตัดกรณีพิเศษที่หัวหรือท้าย
  4. Dทำให้ลิสต์เรียงลำดับ
7.ยาก

ข้อใดเกี่ยวกับ heapsort ถูกต้อง

  1. Aเรียงในที่เดิมใน O(n log n) กรณีเลวร้ายที่สุด แต่ไม่เสถียร
  2. Bต้องใช้ binary search tree เป็นที่เก็บเพิ่มเติม จึงใช้หน่วยความจำเพิ่ม O(n)
  3. Cทำงานใน O(n) กับอินพุตใด ๆ
  4. Dเสถียรและต้องใช้หน่วยความจำเพิ่ม O(n)
8.ยาก

radix tree (compressed trie) ปรับปรุง trie ธรรมดาอย่างไร

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

เฉลย

  1. 1. C · โหนดบนสุดที่ไม่มีโหนดแม่
  2. 2. C · ทุกโหนดมีลูกไม่เกินสองตัว
  3. 3. A · สแตก (stack)
  4. 4. C · 4 5 2 3 1
  5. 5. B · O(1)
  6. 6. C · ทำให้โค้ดง่ายขึ้นโดยตัดกรณีพิเศษที่หัวหรือท้าย
  7. 7. A · เรียงในที่เดิมใน O(n log n) กรณีเลวร้ายที่สุด แต่ไม่เสถียร
  8. 8. D · รวมโซ่ของโหนดที่มีลูกตัวเดียวเป็นเส้นเชื่อมเดียวที่ติดป้ายด้วยสตริง

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