1.ง่าย
การดำเนินการ peek (หรือ top) บนสแตกทำอะไร
- Aเอาสมาชิกทั้งหมดออกจากสแตก
- Bคืนสมาชิกบนสุดโดยไม่เอาออก
- Cคืนสมาชิกล่างสุดของสแตก
- Dเอาสมาชิกบนสุดออกและคืนค่า
2.ง่าย
ลักษณะเด่นของเซต (set) ในฐานะชนิดข้อมูลนามธรรมคืออะไร
- Aเก็บสมาชิกเรียงลำดับ
- Bเก็บสมาชิกโดยไม่มีซ้ำ
- Cเข้าถึงได้เฉพาะที่ปลายด้านเดียว
- Dเก็บคู่คีย์–ค่า
3.ง่าย
แมป (map หรือ dictionary) เก็บอะไร
- Aคู่ของคีย์ที่เท่ากัน
- Bคู่คีย์–ค่าที่คีย์ไม่ซ้ำกัน
- Cค่าที่เรียงตามขนาด
- Dค่าตามลำดับการแทรกเท่านั้น
4.ปานกลาง
เครือข่ายถนนมี 100,000 ทางแยก แต่ละแห่งเชื่อมกับประมาณ 4 แห่ง การแทนแบบใดเหมาะที่สุด
- Aอาร์เรย์เรียงลำดับเดียวของจุดยอด
- Bฮีปทวิภาคของเส้นเชื่อม
- Cรายการประชิด
- Dเมทริกซ์ประชิด
5.ปานกลาง
บัฟเฟอร์วงกลม (circular buffer หรือ ring buffer) มักใช้สร้าง
- Aต้นไม้ค้นหาแบบทวิภาค
- Bฟังก์ชันแฮช
- Cคิวขนาดคงที่
- Dการท่องกราฟ
6.ปานกลาง
จะเกิดอะไรขึ้นเมื่อตารางแฮช rehash หลังตัวประกอบการโหลดเกินเกณฑ์
- Aคีย์ที่มีอยู่ถูกเรียงในที่เดิม
- Bคีย์เก่าที่สุดถูกลบเพื่อให้มีที่ว่าง
- Cย้ายเฉพาะคีย์ที่ชนกันไปยังลิสต์ล้นใหม่ที่ท้ายตาราง
- Dจัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
7.ยาก
อาร์เรย์พลวัตเพิ่มเป็นสองเท่าเมื่อเต็ม เหตุใดหลายการสร้างจึงหดมันเมื่อเหลือเพียงหนึ่งในสี่เท่านั้น ไม่ใช่ครึ่งหนึ่ง
- Aเพราะการหดที่ครึ่งหนึ่งทำให้สมาชิกหาย
- Bเพื่อให้อาร์เรย์เรียงลำดับ
- Cเพราะตัวจัดสรรหน่วยความจำคืนหน่วยความจำได้เฉพาะเป็นหนึ่งในสี่ของบล็อกเท่านั้น
- Dเพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
8.ยาก
เหตุใดเซิร์ฟเวอร์จึงเลือกฟังก์ชันแฮชแบบสุ่มจากตระกูลสากล (universal family)
- Aเพื่อรับประกันว่าไม่มีคีย์สองตัวชนกันเลย ไม่ว่าผู้โจมตีจะส่งคีย์ใดมา
- Bเพื่อทำให้ตารางแฮชเรียงลำดับ
- Cเพื่อทำให้ผู้โจมตีเลือกคีย์จำนวนมากที่ชนกันทั้งหมดได้ยากมาก
- Dเพื่อตัดความจำเป็นในการปรับขนาดตาราง
เฉลย
- 1. B · คืนสมาชิกบนสุดโดยไม่เอาออก
- 2. B · เก็บสมาชิกโดยไม่มีซ้ำ
- 3. B · คู่คีย์–ค่าที่คีย์ไม่ซ้ำกัน
- 4. C · รายการประชิด
- 5. C · คิวขนาดคงที่
- 6. D · จัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
- 7. D · เพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
- 8. C · เพื่อทำให้ผู้โจมตีเลือกคีย์จำนวนมากที่ชนกันทั้งหมดได้ยากมาก
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com