1.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aต้นไม้ทวิภาค (binary tree)
- Bฮีป (heap)
- Cคิว (queue)
- Dสแตก (stack)
2.ง่าย
คุณสมบัติ max-heap คืออะไร
- Aคีย์ของลูกซ้ายทุกตัวมากกว่าหรือเท่ากับคีย์ของพี่น้องฝั่งขวา
- Bคีย์เรียงจากซ้ายไปขวา
- Cใบทั้งหมดมีคีย์สูงสุด
- Dคีย์ของแม่แต่ละตัวมากกว่าหรือเท่ากับคีย์ของลูก
3.ง่าย
ตารางแฮชเก็บข้อมูลเป็น
- Aคู่คีย์–ค่าที่หาตำแหน่งด้วยฟังก์ชันแฮช
- Bรายการที่เรียงลำดับเท่านั้น
- Cต้นไม้ที่คีย์เรียงลำดับ
- Dสตริงความยาวคงที่
4.ปานกลาง
การค้นหาคำความยาว L ใน trie ที่มีตัวอักษรคงที่ใช้เวลาเท่าใด
- AO(L × n)
- BO(L) ไม่ขึ้นกับจำนวนคำที่เก็บ
- CO(n) เมื่อ n คือจำนวนคำ
- DO(log n) เมื่อ n คือจำนวนคำ
5.ปานกลาง
การตรวจว่ามีเส้นเชื่อม (u, v) หรือไม่ด้วยเมทริกซ์ประชิดใช้เวลาเท่าใด
- AO(log V)
- BO(E)
- CO(1)
- DO(V)
6.ปานกลาง
เหตุใดฮีปทวิภาคจึงเก็บในอาร์เรย์ได้โดยไม่ต้องใช้ตัวชี้
- Aเป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
- Bฮีปมีสมาชิกไม่เกิน 100 ตัวเสมอ
- Cอาร์เรย์เก็บคีย์ให้เรียงลำดับโดยอัตโนมัติ จึงไม่ต้องใช้ตัวชี้
- Dคีย์ทั้งหมดในฮีปเท่ากัน
7.ยาก
ในบัฟเฟอร์วงกลม front == rear อาจหมายถึงว่างหรือเต็ม วิธีทั่วไปในการแยกสองกรณีคืออะไร
- Aทำให้ขนาดบัฟเฟอร์เป็นเลขกำลังสอง
- Bล้างบัฟเฟอร์ทุกครั้งที่ front เท่ากับ rear ดังนั้นสถานะจึงเป็นว่าง
- Cเก็บจำนวนสมาชิกแยกต่างหาก หรือเว้นหนึ่งช่องไว้เสมอ
- Dเก็บ front และ rear ในตัวแปรเดียวกัน
8.ยาก
การแทรกคีย์ในต้นไม้ AVL ทำให้ต้นไม้ย่อยซ้ายของโหนดสูงเกินไป และคีย์ใหม่อยู่ในต้นไม้ย่อยซ้ายของลูกซ้าย (กรณีซ้าย–ซ้าย) ใช้วิธีแก้ใด
- Aเปลี่ยนสีโหนดและลูกของมัน
- Bหมุนซ้ายที่ลูก แล้วหมุนขวาที่โหนด
- Cหมุนขวาหนึ่งครั้งที่โหนดที่ไม่สมดุล
- Dหมุนซ้ายหนึ่งครั้งที่โหนดที่ไม่สมดุล
เฉลย
- 1. C · คิว (queue)
- 2. D · คีย์ของแม่แต่ละตัวมากกว่าหรือเท่ากับคีย์ของลูก
- 3. A · คู่คีย์–ค่าที่หาตำแหน่งด้วยฟังก์ชันแฮช
- 4. B · O(L) ไม่ขึ้นกับจำนวนคำที่เก็บ
- 5. C · O(1)
- 6. A · เป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
- 7. C · เก็บจำนวนสมาชิกแยกต่างหาก หรือเว้นหนึ่งช่องไว้เสมอ
- 8. C · หมุนขวาหนึ่งครั้งที่โหนดที่ไม่สมดุล
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com