1.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aฮีป (heap)
- Bต้นไม้ทวิภาค (binary tree)
- Cคิว (queue)
- Dสแตก (stack)
2.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าหลังออกก่อน" (last in, first out)
- Aคิว (queue)
- Bลิงก์ลิสต์ (linked list)
- Cสแตก (stack)
- Dตารางแฮช (hash table)
3.ง่าย
ฟังก์ชันแฮชทำอะไรในตารางแฮช
- Aนับว่ามีกี่คีย์ที่เก็บอยู่
- Bเข้ารหัสค่าในตาราง
- Cเรียงคีย์ในตาราง
- Dแปลงคีย์เป็นดัชนีในตาราง
4.ปานกลาง
ข้อใดเป็นจริงเกี่ยวกับเมทริกซ์ประชิดของกราฟไม่มีทิศทาง
- Aแต่ละแถวมี 1 เพียงตัวเดียวพอดี
- Bสมมาตรเทียบกับเส้นทแยงมุมหลัก
- Cเป็นเมทริกซ์สามเหลี่ยมบนเสมอ
- Dเส้นทแยงมุมหลักมีเลขหนึ่งเสมอ
5.ปานกลาง
การค้นหาคำความยาว L ใน trie ที่มีตัวอักษรคงที่ใช้เวลาเท่าใด
- AO(L × n)
- BO(L) ไม่ขึ้นกับจำนวนคำที่เก็บ
- CO(n) เมื่อ n คือจำนวนคำ
- DO(log n) เมื่อ n คือจำนวนคำ
6.ปานกลาง
ใน min-heap ทวิภาคที่เก็บในอาร์เรย์ (ดัชนีเริ่มที่ 0) ลูกของโหนดที่ดัชนี i อยู่ที่
- A2i และ 2i + 1
- Bi/2 และ i/2 + 1
- C2i + 1 และ 2i + 2
- Di + 1 และ i + 2
7.ยาก
วัตถุถูกเก็บเป็นคีย์ใน hash map จากนั้นฟิลด์ที่ฟังก์ชันแฮชใช้ถูกเปลี่ยน ผลลัพธ์ที่น่าจะเกิดคืออะไร
- Aไม่มีอะไรเปลี่ยน เพราะแฮชของคีย์คำนวณเพียงครั้งเดียวตอนโปรแกรมเริ่มทำงาน
- Bmap โยนข้อผิดพลาดทันทีที่ฟิลด์เปลี่ยน
- Cการค้นหาวัตถุอาจล้มเหลว เพราะมันอยู่ในถังของแฮชเก่า
- Dmap ย้ายคีย์ไปถังใหม่โดยอัตโนมัติ
8.ยาก
โครงสร้างข้อมูลใดรองรับแคช LRU (least recently used) ที่ get และ put เป็น O(1)
- Aอาร์เรย์เรียงลำดับเดียว
- Bbinary search tree เท่านั้น
- Cสแตกเท่านั้น
- Dhash map ร่วมกับลิงก์ลิสต์สองทิศทาง
เฉลย
- 1. C · คิว (queue)
- 2. C · สแตก (stack)
- 3. D · แปลงคีย์เป็นดัชนีในตาราง
- 4. B · สมมาตรเทียบกับเส้นทแยงมุมหลัก
- 5. B · O(L) ไม่ขึ้นกับจำนวนคำที่เก็บ
- 6. C · 2i + 1 และ 2i + 2
- 7. C · การค้นหาวัตถุอาจล้มเหลว เพราะมันอยู่ในถังของแฮชเก่า
- 8. D · hash map ร่วมกับลิงก์ลิสต์สองทิศทาง
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com