1.ง่าย
กราฟประกอบด้วย
- Aแถวและคอลัมน์
- Bรากและใบเท่านั้น
- Cจุดยอด (โหนด) ที่เชื่อมต่อกันด้วยเส้นเชื่อม
- Dคีย์และแฮชเท่านั้น
2.ง่าย
สมาชิกที่เล็กที่สุดของ min-heap ทวิภาคอยู่ที่ใด
- Aที่ราก
- Bในตำแหน่งสุดท้ายของอาร์เรย์
- Cในใบซ้ายสุด
- Dในใบใดก็ได้ ซึ่งต้องค้นหา
3.ง่าย
การดำเนินการใดเป็น O(1) สำหรับอาร์เรย์แต่เป็น O(n) สำหรับลิงก์ลิสต์เชิงเดี่ยว
- Aการแทรกที่หัว
- Bการลบสมาชิกหัว
- Cการเข้าถึงสมาชิกที่ดัชนี i
- Dการอ่านสมาชิกตัวแรก
4.ปานกลาง
แทรกคีย์ 50, 30, 70, 20, 40 ตามลำดับนี้ลงใน binary search tree ว่าง ลูกซ้ายของ 30 คืออะไร
- A20
- B70
- C50
- D40
5.ปานกลาง
โครงสร้างข้อมูลใดที่การค้นหาในแนวลึก (DFS) แบบวนซ้ำใช้
- Aตารางแฮชเท่านั้น
- Bคิว
- Cฮีป
- Dสแตก
6.ปานกลาง
คิวถูกสร้างด้วยสแตกสองตัว: push ลงสแตก "in" และ pop จากสแตก "out" โดยเติมจาก "in" เมื่อว่าง ต้นทุนกระจายต่อการดำเนินการคือเท่าใด
- AO(1)
- BO(n)
- CO(log n)
- DO(n²)
7.ยาก
เหตุใดฐานข้อมูลจึงมักใช้ B+ tree แทน B-tree ธรรมดาสำหรับดัชนี
- Aระเบียนทั้งหมดอยู่ในใบที่เชื่อมกัน ทำให้สแกนช่วงได้มีประสิทธิภาพ
- BB+ tree ไม่จำเป็นต้องสมดุล
- CB+ tree ใช้โหนดภายในแบบทวิภาค ซึ่งลดจำนวนการอ่านดิสก์
- DB+ tree เก็บข้อมูลที่รากเท่านั้น
8.ยาก
segment tree มักใช้เพื่อ
- Aเรียงสตริงตามตัวอักษรโดยเก็บแต่ละคำนำหน้าไว้ในโหนดต้นไม้แยกกัน
- Bเก็บเส้นเชื่อมของกราฟ
- Cสร้างสแตก
- Dตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
เฉลย
- 1. C · จุดยอด (โหนด) ที่เชื่อมต่อกันด้วยเส้นเชื่อม
- 2. A · ที่ราก
- 3. C · การเข้าถึงสมาชิกที่ดัชนี i
- 4. A · 20
- 5. D · สแตก
- 6. A · O(1)
- 7. A · ระเบียนทั้งหมดอยู่ในใบที่เชื่อมกัน ทำให้สแกนช่วงได้มีประสิทธิภาพ
- 8. D · ตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com