1.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aคิว (queue)
- Bต้นไม้ทวิภาค (binary tree)
- Cฮีป (heap)
- Dสแตก (stack)
2.ง่าย
ความลึก (depth) ของโหนดในต้นไม้คือ
- Aจำนวนลูกของโหนดนั้น
- Bจำนวนเส้นเชื่อมจากรากถึงโหนดนั้น
- Cจำนวนโหนดในต้นไม้ย่อยของมัน
- Dจำนวนเส้นเชื่อมจากโหนดนั้นถึงใบที่ลึกที่สุด
3.ง่าย
การดำเนินการของคิวที่เอาสมาชิกด้านหน้าออกเรียกว่าอะไร
- ADequeue
- BInsert
- CEnqueue
- DPush
4.ปานกลาง
ความสูงในกรณีเลวร้ายที่สุดของ binary search tree ที่มี n โหนดคือเท่าใด ถ้าแทรกคีย์ตามลำดับที่เรียงแล้ว
- Alog₂ n
- B1
- C√n
- Dn (กลายเป็นลิงก์ลิสต์)
5.ปานกลาง
ต้นทุนของการแทรกสมาชิกตรงกลางอาร์เรย์ที่มี n สมาชิกคือเท่าใด
- AO(log n) เพราะการค้นหาแบบทวิภาค
- BO(n²) เพราะแต่ละสมาชิกย้าย n ครั้ง
- CO(1) เพราะทราบดัชนี
- DO(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน
6.ปานกลาง
extract-min ใน min-heap ทวิภาคทำงานอย่างไร
- Aย้ายสมาชิกสุดท้ายไปที่รากและเลื่อนลง (sift down)
- Bค้นหาใบทั้งหมดเพื่อหาค่าต่ำสุดใหม่
- Cลบรากและเลื่อนสมาชิกทั้งหมดไปทางซ้ายหนึ่งตำแหน่ง
- Dลบสมาชิกสุดท้ายของอาร์เรย์
7.ยาก
Fenwick tree (binary indexed tree) บนอาร์เรย์ที่มีตัวเลข n ตัว รองรับการดำเนินการใดใน O(log n)
- Aการแทรกสมาชิกที่ตำแหน่งใดก็ได้
- Bการหามัธยฐานใน O(1)
- Cการเรียงอาร์เรย์และการค้นหาแบบทวิภาค
- Dคำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว
8.ยาก
โหนด AVL ไม่สมดุลเพราะต้นไม้ย่อยขวาของลูกซ้ายสูงเกินไป (กรณีซ้าย–ขวา) ใช้วิธีแก้ใด
- Aหมุนขวาหนึ่งครั้งที่โหนด
- Bหมุนซ้ายที่ลูกซ้าย แล้วหมุนขวาที่โหนด
- Cหมุนขวาที่ลูกซ้าย แล้วหมุนซ้ายที่โหนด
- Dหมุนซ้ายหนึ่งครั้งที่โหนด
เฉลย
- 1. A · คิว (queue)
- 2. B · จำนวนเส้นเชื่อมจากรากถึงโหนดนั้น
- 3. A · Dequeue
- 4. D · n (กลายเป็นลิงก์ลิสต์)
- 5. D · O(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน
- 6. A · ย้ายสมาชิกสุดท้ายไปที่รากและเลื่อนลง (sift down)
- 7. D · คำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว
- 8. B · หมุนซ้ายที่ลูกซ้าย แล้วหมุนขวาที่โหนด
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com