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

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

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

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

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

1.ง่าย

โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าหลังออกก่อน" (last in, first out)

  1. Aลิงก์ลิสต์ (linked list)
  2. Bคิว (queue)
  3. Cสแตก (stack)
  4. Dตารางแฮช (hash table)
2.ง่าย

ในลิงก์ลิสต์เชิงเดี่ยว ตัวชี้ next ของโหนดสุดท้ายมีค่าเป็น

  1. Aที่อยู่ของโหนดแรก
  2. Bจำนวนโหนดในลิสต์
  3. CNull (ไม่มีโหนด)
  4. Dที่อยู่ของโหนดก่อนหน้า
3.ง่าย

ในต้นไม้ค้นหาแบบทวิภาค (binary search tree) ค่าในต้นไม้ย่อยซ้ายของโหนดมีค่า

  1. Aน้อยกว่าค่าของโหนด
  2. Bเท่ากับค่าของโหนด
  3. Cมากกว่าค่าของโหนด
  4. Dเรียงลำดับแบบสุ่ม
4.ปานกลาง

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

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

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

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

ทราย (trie หรือ prefix tree) มีประสิทธิภาพเป็นพิเศษสำหรับ

  1. Aการเรียงตัวเลข
  2. Bการหาเส้นทางสั้นที่สุด
  3. Cการค้นหาด้วยคำนำหน้า เช่น autocomplete
  4. Dการเก็บเมทริกซ์
7.ยาก

ในอัลกอริทึมต้นไม้ทอดข้ามที่น้อยที่สุดของ Kruskal โครงสร้าง union-find ใช้เพื่อ

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

โครงสร้างข้อมูลใดรองรับแคช LRU (least recently used) ที่ get และ put เป็น O(1)

  1. Ahash map ร่วมกับลิงก์ลิสต์สองทิศทาง
  2. Bสแตกเท่านั้น
  3. Cbinary search tree เท่านั้น
  4. Dอาร์เรย์เรียงลำดับเดียว

เฉลย

  1. 1. C · สแตก (stack)
  2. 2. C · Null (ไม่มีโหนด)
  3. 3. A · น้อยกว่าค่าของโหนด
  4. 4. D · 2i + 1 และ 2i + 2
  5. 5. B · การเชื่อมโซ่แยก (separate chaining)
  6. 6. C · การค้นหาด้วยคำนำหน้า เช่น autocomplete
  7. 7. A · ตรวจว่าปลายทั้งสองของเส้นเชื่อมเชื่อมต่อกันอยู่แล้วหรือไม่
  8. 8. A · hash map ร่วมกับลิงก์ลิสต์สองทิศทาง

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