1.ง่าย
โครงสร้างข้อมูลใดใช้ท่องต้นไม้แบบ level-order
- Aตารางแฮช
- Bสแตก
- Cคิว
- Dคิวลำดับความสำคัญ
2.ง่าย
deque (double-ended queue) คืออะไร
- Aคิวที่อนุญาตให้เอาออกจากด้านหลังเท่านั้น
- Bโครงสร้างที่อนุญาตให้แทรกและเอาออกที่ทั้งสองปลาย
- Cคิวสองคิวที่ใช้อาร์เรย์ร่วมกัน
- Dคิวที่เรียงตามลำดับความสำคัญ
3.ง่าย
ในกราฟ วงจร (cycle) คืออะไร
- Aเส้นเชื่อมที่มีน้ำหนักเป็นศูนย์
- Bเส้นทางที่เยี่ยมทุกจุดยอด
- Cจุดยอดที่ไม่มีเส้นเชื่อม
- Dเส้นทางที่เริ่มและสิ้นสุดที่จุดยอดเดียวกัน
4.ปานกลาง
ในตารางแฮชที่ใช้ open addressing ตัวประกอบการโหลดสูงสุดที่เป็นไปได้คือเท่าใด
- Aไม่มีค่าสูงสุด
- B1
- C0.5
- D2
5.ปานกลาง
แทรกคีย์ 50, 30, 70, 20, 40 ตามลำดับนี้ลงใน binary search tree ว่าง ลูกซ้ายของ 30 คืออะไร
- A40
- B70
- C20
- D50
6.ปานกลาง
เหตุใดฮีปทวิภาคจึงเก็บในอาร์เรย์ได้โดยไม่ต้องใช้ตัวชี้
- Aเป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
- Bฮีปมีสมาชิกไม่เกิน 100 ตัวเสมอ
- Cอาร์เรย์เก็บคีย์ให้เรียงลำดับโดยอัตโนมัติ จึงไม่ต้องใช้ตัวชี้
- Dคีย์ทั้งหมดในฮีปเท่ากัน
7.ยาก
segment tree มักใช้เพื่อ
- Aเรียงสตริงตามตัวอักษรโดยเก็บแต่ละคำนำหน้าไว้ในโหนดต้นไม้แยกกัน
- Bสร้างสแตก
- Cเก็บเส้นเชื่อมของกราฟ
- Dตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
8.ยาก
หากไม่มี union by rank หรือ path compression ต้นทุนในกรณีเลวร้ายที่สุดของ find หนึ่งครั้งในโครงสร้าง union-find ที่มี n สมาชิกคือเท่าใด
- AO(n)
- BO(log n)
- CO(α(n))
- DO(1)
เฉลย
- 1. C · คิว
- 2. B · โครงสร้างที่อนุญาตให้แทรกและเอาออกที่ทั้งสองปลาย
- 3. D · เส้นทางที่เริ่มและสิ้นสุดที่จุดยอดเดียวกัน
- 4. B · 1
- 5. C · 20
- 6. A · เป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
- 7. D · ตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
- 8. A · O(n)
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com