1.ง่าย
การดำเนินการ peek (หรือ top) บนสแตกทำอะไร
- Aเอาสมาชิกทั้งหมดออกจากสแตก
- Bคืนสมาชิกล่างสุดของสแตก
- Cเอาสมาชิกบนสุดออกและคืนค่า
- Dคืนสมาชิกบนสุดโดยไม่เอาออก
2.ง่าย
ข้อแตกต่างหลักระหว่างอาร์เรย์สถิตกับอาร์เรย์พลวัตคืออะไร
- Aอาร์เรย์สถิตเข้าถึงด้วยดัชนีช้ากว่า
- Bอาร์เรย์สถิตเก็บได้เฉพาะตัวเลข
- Cอาร์เรย์พลวัตขยายได้โดยย้ายไปยังบล็อกหน่วยความจำที่ใหญ่กว่า
- Dอาร์เรย์พลวัตเก็บสมาชิกในโหนดที่เชื่อมกันจึงขยายได้ทีละหนึ่ง
3.ง่าย
สมาชิกของอาร์เรย์ถูกเก็บในหน่วยความจำอย่างไร
- Aในตำแหน่งสุ่มที่เลือกด้วยแฮช
- Bกระจัดกระจาย เชื่อมด้วยตัวชี้
- Cในบล็อกต่อเนื่องเดียว ต่อกันทีละตัว
- Dในต้นไม้ของหน้าหน่วยความจำ
4.ปานกลาง
โปรแกรมที่ทำงานอยู่ใช้โครงสร้างข้อมูลใดติดตามการเรียกฟังก์ชันที่กำลังทำงานและตัวแปรท้องถิ่น
- Aตารางแฮชของฟังก์ชัน
- Bสแตกการเรียก (call stack)
- Cbinary search tree ของเฟรม
- Dคิวหน่วยความจำฮีป
5.ปานกลาง
ในคิววงกลมที่เก็บในอาร์เรย์ความจุ n ตำแหน่งถัดจากดัชนี i คำนวณอย่างไร
- A(i − 1) mod n
- Bi + 1
- C2i + 1
- D(i + 1) mod n
6.ปานกลาง
วิธีแก้การชนกันแบบใดเก็บคีย์ที่ชนกันไว้ในลิสต์ที่ถังเดียวกัน
- Aการตรวจสอบกำลังสอง (quadratic probing)
- Bการตรวจสอบเชิงเส้น (linear probing)
- Cการแฮชซ้อน (double hashing)
- Dการเชื่อมโซ่แยก (separate chaining)
7.ยาก
segment tree มักใช้เพื่อ
- Aเก็บเส้นเชื่อมของกราฟ
- Bสร้างสแตก
- Cตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
- Dเรียงสตริงตามตัวอักษรโดยเก็บแต่ละคำนำหน้าไว้ในโหนดต้นไม้แยกกัน
8.ยาก
ข้อได้เปรียบหลักของ skip list เหนือลิงก์ลิสต์ที่เรียงลำดับคืออะไร
- Aเก็บคีย์โดยไม่เรียงลำดับ
- Bไม่ใช้หน่วยความจำเพิ่ม
- Cการค้นหา O(log n) คาดหมาย โดยใช้ตัวชี้ไปข้างหน้าหลายระดับ
- Dรับประกันการค้นหา O(1) เพราะทุกโหนดเก็บตัวชี้ไปยังทุกโหนดอื่น
เฉลย
- 1. D · คืนสมาชิกบนสุดโดยไม่เอาออก
- 2. C · อาร์เรย์พลวัตขยายได้โดยย้ายไปยังบล็อกหน่วยความจำที่ใหญ่กว่า
- 3. C · ในบล็อกต่อเนื่องเดียว ต่อกันทีละตัว
- 4. B · สแตกการเรียก (call stack)
- 5. D · (i + 1) mod n
- 6. D · การเชื่อมโซ่แยก (separate chaining)
- 7. C · ตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
- 8. C · การค้นหา O(log n) คาดหมาย โดยใช้ตัวชี้ไปข้างหน้าหลายระดับ
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com