1.ง่าย
deque (double-ended queue) คืออะไร
- Aโครงสร้างที่อนุญาตให้แทรกและเอาออกที่ทั้งสองปลาย
- Bคิวที่อนุญาตให้เอาออกจากด้านหลังเท่านั้น
- Cคิวที่เรียงตามลำดับความสำคัญ
- Dคิวสองคิวที่ใช้อาร์เรย์ร่วมกัน
2.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aคิว (queue)
- Bฮีป (heap)
- Cสแตก (stack)
- Dต้นไม้ทวิภาค (binary tree)
3.ง่าย
การดำเนินการใดช้าในอาร์เรย์แต่เร็วที่ส่วนหัวของลิงก์ลิสต์
- Aการหาความยาวของอาร์เรย์ขนาดคงที่
- Bการแทรกที่จุดเริ่มต้น
- Cการอ่านสมาชิกตัวสุดท้ายด้วยดัชนี
- Dการเข้าถึงสมาชิกตัวที่ 5
4.ปานกลาง
ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ preorder คืออะไร
- A4 5 2 3 1
- B1 2 4 5 3
- C4 2 5 1 3
- D1 2 3 4 5
5.ปานกลาง
ความสูงในกรณีเลวร้ายที่สุดของ binary search tree ที่มี n โหนดคือเท่าใด ถ้าแทรกคีย์ตามลำดับที่เรียงแล้ว
- A1
- Bn (กลายเป็นลิงก์ลิสต์)
- C√n
- Dlog₂ n
6.ปานกลาง
บัฟเฟอร์วงกลม (circular buffer หรือ ring buffer) มักใช้สร้าง
- Aฟังก์ชันแฮช
- Bคิวขนาดคงที่
- Cการท่องกราฟ
- Dต้นไม้ค้นหาแบบทวิภาค
7.ยาก
คุณต้องเก็บค่าที่น้อยที่สุด k ตัวจากสตรีมของตัวเลข n ตัวโดยใช้หน่วยความจำ O(k) แนวทางใดทำงานใน O(n log k)
- Aอาร์เรย์เรียงลำดับของค่าทั้ง n
- Bmax-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
- Cคิว FIFO ของ k ค่าล่าสุด
- Dmin-heap ที่เก็บค่าทั้ง n ตัว แล้วดึงค่าที่น้อยที่สุด k ตัวออกมาตอนท้าย
8.ยาก
ต้นไม้แดง–ดำ (red-black tree) ต้องมีคุณสมบัติใด
- Aโหนดสีแดงทุกโหนดต้องมีลูกสีแดง โหนดสีแดงจึงต่อเป็นสายไม่ขาดตอนไปจนถึงใบ
- Bรากต้องเป็นสีแดง
- Cทุกเส้นทางจากโหนดไปยังใบของลูกหลานมีจำนวนโหนดสีดำเท่ากัน
- Dทุกโหนดต้องเป็นสีแดง
เฉลย
- 1. A · โครงสร้างที่อนุญาตให้แทรกและเอาออกที่ทั้งสองปลาย
- 2. A · คิว (queue)
- 3. B · การแทรกที่จุดเริ่มต้น
- 4. B · 1 2 4 5 3
- 5. B · n (กลายเป็นลิงก์ลิสต์)
- 6. B · คิวขนาดคงที่
- 7. B · max-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
- 8. C · ทุกเส้นทางจากโหนดไปยังใบของลูกหลานมีจำนวนโหนดสีดำเท่ากัน
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com