1.ง่าย
โครงสร้างข้อมูลใดใช้ท่องต้นไม้แบบ level-order
- Aสแตก
- Bคิว
- Cคิวลำดับความสำคัญ
- Dตารางแฮช
2.ง่าย
ฟังก์ชันแฮชทำอะไรในตารางแฮช
- Aนับว่ามีกี่คีย์ที่เก็บอยู่
- Bเรียงคีย์ในตาราง
- Cแปลงคีย์เป็นดัชนีในตาราง
- Dเข้ารหัสค่าในตาราง
3.ง่าย
โครงสร้างข้อมูลใดเหมาะที่สุดสำหรับฟีเจอร์ "ย้อนกลับ" (undo) ในโปรแกรมแก้ไขข้อความ
- Aสแตก (stack)
- Bเซตแฮช (hash set)
- Cคิว (queue)
- Dกราฟ (graph)
4.ปานกลาง
ข้อใดเป็นจริงเกี่ยวกับเมทริกซ์ประชิดของกราฟไม่มีทิศทาง
- Aเส้นทแยงมุมหลักมีเลขหนึ่งเสมอ
- Bสมมาตรเทียบกับเส้นทแยงมุมหลัก
- Cแต่ละแถวมี 1 เพียงตัวเดียวพอดี
- Dเป็นเมทริกซ์สามเหลี่ยมบนเสมอ
5.ปานกลาง
จุดประสงค์ของโหนดยามเฝ้า (sentinel หรือ dummy) ในลิงก์ลิสต์คืออะไร
- Aทำให้ลิสต์เรียงลำดับ
- Bเพื่อป้องกันไม่ให้ลิสต์ขยายเกินจำนวนโหนดสูงสุดที่กำหนดไว้
- Cเก็บจำนวนสมาชิก
- Dทำให้โค้ดง่ายขึ้นโดยตัดกรณีพิเศษที่หัวหรือท้าย
6.ปานกลาง
ความซับซ้อนเชิงเวลาของการค้นหาคีย์ใน binary search tree ที่สมดุลคือเท่าใด
- AO(n log n)
- BO(log n)
- CO(n)
- DO(1)
7.ยาก
เหตุใดจึงใช้ B-tree ในฐานข้อมูลและระบบไฟล์
- Aตัวประกอบการแตกแขนงสูงทำให้ต้นไม้ตื้น ลดการอ่านดิสก์ที่ช้า
- Bเก็บข้อมูลโดยไม่เรียงลำดับ
- Cไม่ต้องปรับสมดุลใหม่
- Dใช้หน่วยความจำน้อยกว่าอาร์เรย์ใด ๆ ดัชนีทั้งหมดจึงเก็บในหน่วยความจำหลักได้เสมอ
8.ยาก
กฎของต้นไม้แดง–ดำรับประกันอะไรเกี่ยวกับความสูงของต้นไม้ที่มี n คีย์
- Aความสูงเท่ากับ log2 n พอดี
- Bความสูงไม่เกิน 2 log2(n + 1)
- Cความสูงไม่เกิน n / 2
- Dความสูงไม่เกิน log2 n + 1
เฉลย
- 1. B · คิว
- 2. C · แปลงคีย์เป็นดัชนีในตาราง
- 3. A · สแตก (stack)
- 4. B · สมมาตรเทียบกับเส้นทแยงมุมหลัก
- 5. D · ทำให้โค้ดง่ายขึ้นโดยตัดกรณีพิเศษที่หัวหรือท้าย
- 6. B · O(log n)
- 7. A · ตัวประกอบการแตกแขนงสูงทำให้ต้นไม้ตื้น ลดการอ่านดิสก์ที่ช้า
- 8. B · ความสูงไม่เกิน 2 log2(n + 1)
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com