1.ง่าย
ในต้นไม้ โหนดพี่น้อง (sibling) คืออะไร
- Aโหนดที่ระดับความลึกเดียวกันในต้นไม้ย่อยต่างกัน
- Bโหนดที่มีแม่เดียวกัน
- Cโหนดและแม่ของมัน
- Dโหนดที่ไม่มีลูก
2.ง่าย
กราฟมีน้ำหนัก (weighted graph) คืออะไร
- Aกราฟที่แต่ละเส้นเชื่อมมีค่าตัวเลข เช่น ต้นทุนหรือระยะทาง
- Bกราฟที่จุดยอดบางจุดหนักกว่าจุดอื่นเพราะมีเส้นเชื่อมมากกว่า
- Cกราฟที่มีเส้นเชื่อมมากกว่าจุดยอด
- Dกราฟที่เก็บบนดิสก์
3.ง่าย
การดำเนินการใดช้าในอาร์เรย์แต่เร็วที่ส่วนหัวของลิงก์ลิสต์
- Aการแทรกที่จุดเริ่มต้น
- Bการเข้าถึงสมาชิกตัวที่ 5
- Cการอ่านสมาชิกตัวสุดท้ายด้วยดัชนี
- Dการหาความยาวของอาร์เรย์ขนาดคงที่
4.ปานกลาง
ทราย (trie หรือ prefix tree) มีประสิทธิภาพเป็นพิเศษสำหรับ
- Aการค้นหาด้วยคำนำหน้า เช่น autocomplete
- Bการเก็บเมทริกซ์
- Cการเรียงตัวเลข
- Dการหาเส้นทางสั้นที่สุด
5.ปานกลาง
ตารางแฮชขนาด 7 ใช้ h(k) = k mod 7 และ linear probing หลังแทรก 10 แล้ว 17 ถูกเก็บที่ใด
- Aดัชนี 6
- Bดัชนี 4
- Cดัชนี 0
- Dดัชนี 3
6.ปานกลาง
ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ preorder คืออะไร
- A1 2 3 4 5
- B4 5 2 3 1
- C4 2 5 1 3
- D1 2 4 5 3
7.ยาก
อาร์เรย์พลวัตเพิ่มเป็นสองเท่าเมื่อเต็ม เหตุใดหลายการสร้างจึงหดมันเมื่อเหลือเพียงหนึ่งในสี่เท่านั้น ไม่ใช่ครึ่งหนึ่ง
- Aเพื่อให้อาร์เรย์เรียงลำดับ
- Bเพราะการหดที่ครึ่งหนึ่งทำให้สมาชิกหาย
- Cเพราะตัวจัดสรรหน่วยความจำคืนหน่วยความจำได้เฉพาะเป็นหนึ่งในสี่ของบล็อกเท่านั้น
- Dเพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
8.ยาก
การกลับลิงก์ลิสต์เชิงเดี่ยวในที่เดิมมีต้นทุนด้านเวลาและพื้นที่เพิ่มเติมเท่าใด
- Aเวลา O(1) และพื้นที่เพิ่ม O(1)
- Bเวลา O(n) และพื้นที่เพิ่ม O(1)
- Cเวลา O(n) และพื้นที่เพิ่ม O(n)
- Dเวลา O(n log n) และพื้นที่เพิ่ม O(1)
เฉลย
- 1. B · โหนดที่มีแม่เดียวกัน
- 2. A · กราฟที่แต่ละเส้นเชื่อมมีค่าตัวเลข เช่น ต้นทุนหรือระยะทาง
- 3. A · การแทรกที่จุดเริ่มต้น
- 4. A · การค้นหาด้วยคำนำหน้า เช่น autocomplete
- 5. B · ดัชนี 4
- 6. D · 1 2 4 5 3
- 7. D · เพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
- 8. B · เวลา O(n) และพื้นที่เพิ่ม O(1)
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com