1.ง่าย
โครงสร้างใดมักใช้สร้างคิวลำดับความสำคัญ (priority queue)
- Aฮีป (heap)
- Bลิงก์ลิสต์เชิงเดี่ยวที่ไม่เรียงลำดับ
- Cสตริง
- Dสแตก (stack)
2.ง่าย
ตารางแฮชเก็บข้อมูลเป็น
- Aรายการที่เรียงลำดับเท่านั้น
- Bสตริงความยาวคงที่
- Cคู่คีย์–ค่าที่หาตำแหน่งด้วยฟังก์ชันแฮช
- Dต้นไม้ที่คีย์เรียงลำดับ
3.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aฮีป (heap)
- Bคิว (queue)
- Cสแตก (stack)
- Dต้นไม้ทวิภาค (binary tree)
4.ปานกลาง
เหตุใดฮีปทวิภาคจึงเก็บในอาร์เรย์ได้โดยไม่ต้องใช้ตัวชี้
- Aคีย์ทั้งหมดในฮีปเท่ากัน
- Bฮีปมีสมาชิกไม่เกิน 100 ตัวเสมอ
- Cอาร์เรย์เก็บคีย์ให้เรียงลำดับโดยอัตโนมัติ จึงไม่ต้องใช้ตัวชี้
- Dเป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
5.ปานกลาง
ในฮีปทวิภาคที่เก็บในอาร์เรย์เริ่มที่ดัชนี 0 แม่ของโหนดที่ดัชนี i อยู่ที่ใด
- Aที่ดัชนี i − 1
- Bที่ดัชนี 2i + 1
- Cที่ดัชนี ⌊i / 2⌋ + 1
- Dที่ดัชนี ⌊(i − 1) / 2⌋
6.ปานกลาง
ข้อใดเป็นจริงเกี่ยวกับเมทริกซ์ประชิดของกราฟไม่มีทิศทาง
- Aเป็นเมทริกซ์สามเหลี่ยมบนเสมอ
- Bแต่ละแถวมี 1 เพียงตัวเดียวพอดี
- Cสมมาตรเทียบกับเส้นทแยงมุมหลัก
- Dเส้นทแยงมุมหลักมีเลขหนึ่งเสมอ
7.ยาก
หากไม่มี union by rank หรือ path compression ต้นทุนในกรณีเลวร้ายที่สุดของ find หนึ่งครั้งในโครงสร้าง union-find ที่มี n สมาชิกคือเท่าใด
- AO(log n)
- BO(n)
- CO(1)
- DO(α(n))
8.ยาก
โครงสร้าง union-find (เซตไม่เชื่อมกัน) ที่ใช้ union by rank และ path compression มีต้นทุนกระจายต่อการดำเนินการเป็น
- AO(n)
- BO(n²)
- CO(log n) พอดี
- DO(α(n)) ซึ่งเป็นฟังก์ชันผกผันของอัคเคอร์มันน์ ที่แทบเป็นค่าคงที่ในทางปฏิบัติ
เฉลย
- 1. A · ฮีป (heap)
- 2. C · คู่คีย์–ค่าที่หาตำแหน่งด้วยฟังก์ชันแฮช
- 3. B · คิว (queue)
- 4. D · เป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
- 5. D · ที่ดัชนี ⌊(i − 1) / 2⌋
- 6. C · สมมาตรเทียบกับเส้นทแยงมุมหลัก
- 7. B · O(n)
- 8. D · O(α(n)) ซึ่งเป็นฟังก์ชันผกผันของอัคเคอร์มันน์ ที่แทบเป็นค่าคงที่ในทางปฏิบัติ
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com