1.ง่าย
แต่ละโหนดในลิงก์ลิสต์สองทิศทาง (doubly linked list) มีอะไร
- Aข้อมูล ตัวชี้ไปโหนดถัดไป และตัวชี้ไปโหนดก่อนหน้า
- Bข้อมูลสองชุดและตัวชี้หนึ่งตัว
- Cข้อมูลและตัวชี้สองตัว ตัวหนึ่งไปโหนดถัดไปและอีกตัวไปโหนดที่ถัดจากนั้นอีกหนึ่งโหนด
- Dข้อมูลและตัวชี้ไปโหนดถัดไปเท่านั้น
2.ง่าย
ในกราฟไม่มีทิศทาง ดีกรี (degree) ของจุดยอดคืออะไร
- Aตำแหน่งของมันในรายการประชิด
- Bจำนวนจุดยอดในกราฟ
- Cความยาวของเส้นทางที่ยาวที่สุดจากมัน
- Dจำนวนเส้นเชื่อมที่ต่ออยู่กับมัน
3.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aต้นไม้ทวิภาค (binary tree)
- Bสแตก (stack)
- Cฮีป (heap)
- Dคิว (queue)
4.ปานกลาง
ต้นไม้ AVL และต้นไม้แดง–ดำ (red-black) รับประกัน
- Aไม่มีโหนดใดมีลูกสองตัว
- Bความสูง O(log n) ผ่านการปรับสมดุลใหม่
- Cการค้นหาในเวลาคงที่ทุกกรณี
- Dคีย์ถูกเก็บตามลำดับการแทรก
5.ปานกลาง
เครือข่ายถนนมี 100,000 ทางแยก แต่ละแห่งเชื่อมกับประมาณ 4 แห่ง การแทนแบบใดเหมาะที่สุด
- Aเมทริกซ์ประชิด
- Bอาร์เรย์เรียงลำดับเดียวของจุดยอด
- Cรายการประชิด
- Dฮีปทวิภาคของเส้นเชื่อม
6.ปานกลาง
ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ postorder คืออะไร
- A4 5 2 3 1
- B4 2 5 1 3
- C1 2 4 5 3
- D5 4 3 2 1
7.ยาก
คุณต้องเก็บค่าที่น้อยที่สุด k ตัวจากสตรีมของตัวเลข n ตัวโดยใช้หน่วยความจำ O(k) แนวทางใดทำงานใน O(n log k)
- Aอาร์เรย์เรียงลำดับของค่าทั้ง n
- Bmin-heap ที่เก็บค่าทั้ง n ตัว แล้วดึงค่าที่น้อยที่สุด k ตัวออกมาตอนท้าย
- Cคิว FIFO ของ k ค่าล่าสุด
- Dmax-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
8.ยาก
คุณสมบัติใดทำให้ B-tree ทุกต้นสมดุลอย่างสมบูรณ์
- Aใบทั้งหมดอยู่ที่ความลึกเดียวกัน
- Bแต่ละโหนดเก็บหนึ่งคีย์
- Cคีย์ถูกเก็บเฉพาะที่ราก
- Dทุกโหนดมีลูกสองตัวพอดี
เฉลย
- 1. A · ข้อมูล ตัวชี้ไปโหนดถัดไป และตัวชี้ไปโหนดก่อนหน้า
- 2. D · จำนวนเส้นเชื่อมที่ต่ออยู่กับมัน
- 3. D · คิว (queue)
- 4. B · ความสูง O(log n) ผ่านการปรับสมดุลใหม่
- 5. C · รายการประชิด
- 6. A · 4 5 2 3 1
- 7. D · max-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
- 8. A · ใบทั้งหมดอยู่ที่ความลึกเดียวกัน
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com