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

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

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

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

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

1.ง่าย

ลักษณะเด่นของเซต (set) ในฐานะชนิดข้อมูลนามธรรมคืออะไร

  1. Aเก็บคู่คีย์–ค่า
  2. Bเก็บสมาชิกเรียงลำดับ
  3. Cเข้าถึงได้เฉพาะที่ปลายด้านเดียว
  4. Dเก็บสมาชิกโดยไม่มีซ้ำ
2.ง่าย

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

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

ในต้นไม้ ใบ (leaf) คืออะไร

  1. Aโหนดที่ไม่มีโหนดลูก
  2. Bโหนดที่มีค่ามากที่สุด
  3. Cโหนดที่มีลูกหนึ่งตัวพอดี
  4. Dโหนดที่ไม่มีโหนดแม่
4.ปานกลาง

วิธีแก้การชนกันแบบใดเก็บคีย์ที่ชนกันไว้ในลิสต์ที่ถังเดียวกัน

  1. Aการตรวจสอบกำลังสอง (quadratic probing)
  2. Bการตรวจสอบเชิงเส้น (linear probing)
  3. Cการเชื่อมโซ่แยก (separate chaining)
  4. Dการแฮชซ้อน (double hashing)
5.ปานกลาง

เหตุใดการท่องอาร์เรย์จึงเร็วกว่าการท่องลิงก์ลิสต์ที่ยาวเท่ากันมากในทางปฏิบัติ

  1. Aสมาชิกของอาร์เรย์ต่อเนื่องกัน จึงใช้แคชของ CPU ได้ดี
  2. Bลิงก์ลิสต์เก็บสมาชิกบนดิสก์เสมอ
  3. Cการท่องอาร์เรย์เป็น O(1) โดยรวม ส่วนการท่องลิงก์ลิสต์เป็น O(n)
  4. Dอาร์เรย์ใช้คำสั่งน้อยกว่าในการเปรียบเทียบค่า
6.ปานกลาง

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

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

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

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

การค้นหาคีย์ใด ๆ ในฮีป min ทวิภาคที่มี n สมาชิกใช้เวลาเท่าใด

  1. AO(n)
  2. BO(log n)
  3. CO(log log n)
  4. DO(1)

เฉลย

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

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