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

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

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

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

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

1.ง่าย

ในตารางแฮช การชนกัน (collision) คืออะไร

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

กราฟประกอบด้วย

  1. Aรากและใบเท่านั้น
  2. Bจุดยอด (โหนด) ที่เชื่อมต่อกันด้วยเส้นเชื่อม
  3. Cแถวและคอลัมน์
  4. Dคีย์และแฮชเท่านั้น
3.ง่าย

ในกราฟ วงจร (cycle) คืออะไร

  1. Aเส้นเชื่อมที่มีน้ำหนักเป็นศูนย์
  2. Bเส้นทางที่เยี่ยมทุกจุดยอด
  3. Cจุดยอดที่ไม่มีเส้นเชื่อม
  4. Dเส้นทางที่เริ่มและสิ้นสุดที่จุดยอดเดียวกัน
4.ปานกลาง

ต้นไม้ทวิภาคสมบูรณ์เต็ม (perfect binary tree) ที่มีความสูง h มีกี่โหนด เมื่อความสูงนับเป็นเส้นเชื่อม

  1. A2h
  2. Bh2
  3. C2h + 1
  4. D2h+1 − 1
5.ปานกลาง

คิวถูกสร้างด้วยสแตกสองตัว: push ลงสแตก "in" และ pop จากสแตก "out" โดยเติมจาก "in" เมื่อว่าง ต้นทุนกระจายต่อการดำเนินการคือเท่าใด

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

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

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

คุณต้องเก็บค่าที่น้อยที่สุด k ตัวจากสตรีมของตัวเลข n ตัวโดยใช้หน่วยความจำ O(k) แนวทางใดทำงานใน O(n log k)

  1. Amin-heap ที่เก็บค่าทั้ง n ตัว แล้วดึงค่าที่น้อยที่สุด k ตัวออกมาตอนท้าย
  2. Bคิว FIFO ของ k ค่าล่าสุด
  3. Cอาร์เรย์เรียงลำดับของค่าทั้ง n
  4. Dmax-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
8.ยาก

Fenwick tree (binary indexed tree) บนอาร์เรย์ที่มีตัวเลข n ตัว รองรับการดำเนินการใดใน O(log n)

  1. Aการหามัธยฐานใน O(1)
  2. Bคำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว
  3. Cการเรียงอาร์เรย์และการค้นหาแบบทวิภาค
  4. Dการแทรกสมาชิกที่ตำแหน่งใดก็ได้

เฉลย

  1. 1. B · คีย์สองตัวที่ต่างกันแปลงเป็นดัชนีเดียวกัน
  2. 2. B · จุดยอด (โหนด) ที่เชื่อมต่อกันด้วยเส้นเชื่อม
  3. 3. D · เส้นทางที่เริ่มและสิ้นสุดที่จุดยอดเดียวกัน
  4. 4. D · 2h+1 − 1
  5. 5. C · O(1)
  6. 6. C · สมาชิกของอาร์เรย์ต่อเนื่องกัน จึงใช้แคชของ CPU ได้ดี
  7. 7. D · max-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
  8. 8. B · คำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว

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