1.ง่าย
กราฟประกอบด้วย
- Aรากและใบเท่านั้น
- Bจุดยอด (โหนด) ที่เชื่อมต่อกันด้วยเส้นเชื่อม
- Cคีย์และแฮชเท่านั้น
- Dแถวและคอลัมน์
2.ง่าย
การดำเนินการของสแตกที่เพิ่มสมาชิกไว้ด้านบนเรียกว่าอะไร
- APush
- BEnqueue
- CPeek
- DPop
3.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aต้นไม้ทวิภาค (binary tree)
- Bสแตก (stack)
- Cคิว (queue)
- Dฮีป (heap)
4.ปานกลาง
ทราย (trie หรือ prefix tree) มีประสิทธิภาพเป็นพิเศษสำหรับ
- Aการค้นหาด้วยคำนำหน้า เช่น autocomplete
- Bการเก็บเมทริกซ์
- Cการเรียงตัวเลข
- Dการหาเส้นทางสั้นที่สุด
5.ปานกลาง
วิธีแก้การชนกันแบบใดเก็บคีย์ที่ชนกันไว้ในลิสต์ที่ถังเดียวกัน
- Aการตรวจสอบเชิงเส้น (linear probing)
- Bการตรวจสอบกำลังสอง (quadratic probing)
- Cการแฮชซ้อน (double hashing)
- Dการเชื่อมโซ่แยก (separate chaining)
6.ปานกลาง
ต้นไม้ AVL รักษาเงื่อนไขสมดุลใดที่ทุกโหนด
- Aใบทั้งหมดอยู่ที่ความลึกเดียวกันพอดี
- Bทุกโหนดถูกระบายสีแดงหรือดำ
- Cความสูงของต้นไม้ย่อยซ้ายและขวาต่างกันไม่เกิน 1
- Dต้นไม้ย่อยทั้งสองของทุกโหนดมีจำนวนโหนดเท่ากันพอดี
7.ยาก
คุณต้องเก็บค่าที่น้อยที่สุด k ตัวจากสตรีมของตัวเลข n ตัวโดยใช้หน่วยความจำ O(k) แนวทางใดทำงานใน O(n log k)
- Amin-heap ที่เก็บค่าทั้ง n ตัว แล้วดึงค่าที่น้อยที่สุด k ตัวออกมาตอนท้าย
- Bอาร์เรย์เรียงลำดับของค่าทั้ง n
- Cmax-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
- Dคิว FIFO ของ k ค่าล่าสุด
8.ยาก
ต้นไม้แดง–ดำ (red-black tree) ต้องมีคุณสมบัติใด
- Aทุกเส้นทางจากโหนดไปยังใบของลูกหลานมีจำนวนโหนดสีดำเท่ากัน
- Bรากต้องเป็นสีแดง
- Cโหนดสีแดงทุกโหนดต้องมีลูกสีแดง โหนดสีแดงจึงต่อเป็นสายไม่ขาดตอนไปจนถึงใบ
- Dทุกโหนดต้องเป็นสีแดง
เฉลย
- 1. B · จุดยอด (โหนด) ที่เชื่อมต่อกันด้วยเส้นเชื่อม
- 2. A · Push
- 3. C · คิว (queue)
- 4. A · การค้นหาด้วยคำนำหน้า เช่น autocomplete
- 5. D · การเชื่อมโซ่แยก (separate chaining)
- 6. C · ความสูงของต้นไม้ย่อยซ้ายและขวาต่างกันไม่เกิน 1
- 7. C · max-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
- 8. A · ทุกเส้นทางจากโหนดไปยังใบของลูกหลานมีจำนวนโหนดสีดำเท่ากัน
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com