1.ง่าย
โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าก่อนออกก่อน" (first in, first out)
- Aสแตก (stack)
- Bคิว (queue)
- Cฮีป (heap)
- Dต้นไม้ทวิภาค (binary tree)
2.ง่าย
ข้อแตกต่างหลักระหว่างอาร์เรย์สถิตกับอาร์เรย์พลวัตคืออะไร
- Aอาร์เรย์พลวัตเก็บสมาชิกในโหนดที่เชื่อมกันจึงขยายได้ทีละหนึ่ง
- Bอาร์เรย์พลวัตขยายได้โดยย้ายไปยังบล็อกหน่วยความจำที่ใหญ่กว่า
- Cอาร์เรย์สถิตเก็บได้เฉพาะตัวเลข
- Dอาร์เรย์สถิตเข้าถึงด้วยดัชนีช้ากว่า
3.ง่าย
การดำเนินการของสแตกที่เพิ่มสมาชิกไว้ด้านบนเรียกว่าอะไร
- AEnqueue
- BPush
- CPop
- DPeek
4.ปานกลาง
จะเกิดอะไรขึ้นเมื่อตารางแฮช rehash หลังตัวประกอบการโหลดเกินเกณฑ์
- Aย้ายเฉพาะคีย์ที่ชนกันไปยังลิสต์ล้นใหม่ที่ท้ายตาราง
- Bคีย์ที่มีอยู่ถูกเรียงในที่เดิม
- Cคีย์เก่าที่สุดถูกลบเพื่อให้มีที่ว่าง
- Dจัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
5.ปานกลาง
โปรแกรมที่ทำงานอยู่ใช้โครงสร้างข้อมูลใดติดตามการเรียกฟังก์ชันที่กำลังทำงานและตัวแปรท้องถิ่น
- Aสแตกการเรียก (call stack)
- Bbinary search tree ของเฟรม
- Cตารางแฮชของฟังก์ชัน
- Dคิวหน่วยความจำฮีป
6.ปานกลาง
เหตุใดฮีปทวิภาคจึงเก็บในอาร์เรย์ได้โดยไม่ต้องใช้ตัวชี้
- Aคีย์ทั้งหมดในฮีปเท่ากัน
- Bฮีปมีสมาชิกไม่เกิน 100 ตัวเสมอ
- Cเป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
- Dอาร์เรย์เก็บคีย์ให้เรียงลำดับโดยอัตโนมัติ จึงไม่ต้องใช้ตัวชี้
7.ยาก
อัลกอริทึมของ Kahn สำหรับการเรียงทอพอโลยีลบจุดยอดที่มี in-degree 0 ซ้ำ ๆ โครงสร้างใดเก็บจุดยอดเหล่านั้น
- Aสแตกของเส้นเชื่อมที่เยี่ยมทั้งหมด
- Bคิว (หรือคอลเล็กชันใดก็ได้) ของจุดยอดที่มี in-degree เป็น 0
- Cmax-heap เรียงตาม out-degree
- Dเมทริกซ์ประชิดที่บันทึกว่าจุดยอดใดถูกลบไปแล้ว
8.ยาก
เหตุใดจึงลบสมาชิกออกจาก Bloom filter มาตรฐานโดยเพียงล้างบิตของมันไม่ได้
- ABloom filter เก็บสมาชิกเต็มรูป ซึ่งเมื่อถูกแฮชแล้วหาไม่พบอีก
- Bบิตเหล่านั้นอาจเป็นของสมาชิกอื่นด้วย ซึ่งจะทำให้เกิดผลลบเท็จ
- Cบิตใน Bloom filter เปลี่ยนไม่ได้หลังสร้าง
- Dการลบจะเพิ่มอัตราผลบวกเท็จเป็น 100%
เฉลย
- 1. B · คิว (queue)
- 2. B · อาร์เรย์พลวัตขยายได้โดยย้ายไปยังบล็อกหน่วยความจำที่ใหญ่กว่า
- 3. B · Push
- 4. D · จัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
- 5. A · สแตกการเรียก (call stack)
- 6. C · เป็นต้นไม้ทวิภาคสมบูรณ์ ตำแหน่งจึงเป็นไปตามสูตรดัชนีง่าย ๆ
- 7. B · คิว (หรือคอลเล็กชันใดก็ได้) ของจุดยอดที่มี in-degree เป็น 0
- 8. B · บิตเหล่านั้นอาจเป็นของสมาชิกอื่นด้วย ซึ่งจะทำให้เกิดผลลบเท็จ
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com