1.ง่าย
ในต้นไม้ ใบ (leaf) คืออะไร
- Aโหนดที่ไม่มีโหนดลูก
- Bโหนดที่ไม่มีโหนดแม่
- Cโหนดที่มีลูกหนึ่งตัวพอดี
- Dโหนดที่มีค่ามากที่สุด
2.ง่าย
ฟังก์ชันแฮชทำอะไรในตารางแฮช
- Aเข้ารหัสค่าในตาราง
- Bเรียงคีย์ในตาราง
- Cนับว่ามีกี่คีย์ที่เก็บอยู่
- Dแปลงคีย์เป็นดัชนีในตาราง
3.ง่าย
การดำเนินการ peek (หรือ top) บนสแตกทำอะไร
- Aเอาสมาชิกทั้งหมดออกจากสแตก
- Bคืนสมาชิกบนสุดโดยไม่เอาออก
- Cเอาสมาชิกบนสุดออกและคืนค่า
- Dคืนสมาชิกล่างสุดของสแตก
4.ปานกลาง
โครงสร้างข้อมูลใดที่การค้นหาในแนวลึก (DFS) แบบวนซ้ำใช้
- Aฮีป
- Bตารางแฮชเท่านั้น
- Cสแตก
- Dคิว
5.ปานกลาง
อัลกอริทึมของ Dijkstra ใช้ชนิดข้อมูลนามธรรมใดเลือกจุดยอดถัดไปที่จะประมวลผล
- Aสแตก
- Bคิว FIFO
- Cเซตที่ไม่มีลำดับ
- Dคิวลำดับความสำคัญแบบค่าต่ำสุด (min-priority queue)
6.ปานกลาง
คิวถูกสร้างด้วยสแตกสองตัว: push ลงสแตก "in" และ pop จากสแตก "out" โดยเติมจาก "in" เมื่อว่าง ต้นทุนกระจายต่อการดำเนินการคือเท่าใด
- AO(n²)
- BO(log n)
- CO(1)
- DO(n)
7.ยาก
สำหรับแต่ละสมาชิกของอาร์เรย์ คุณต้องการสมาชิกที่ใหญ่กว่าถัดไปทางขวา ในเวลารวม O(n) โครงสร้างใดช่วยได้
- Aคิวที่เก็บทุกคู่ของสมาชิก
- Bตารางแฮชของสมาชิกทั้งหมด
- Cbinary search tree ที่สร้างใหม่สำหรับแต่ละสมาชิก
- Dสแตกที่เก็บสมาชิกที่รอคำตอบ
8.ยาก
เหตุใดจึงลบสมาชิกออกจาก Bloom filter มาตรฐานโดยเพียงล้างบิตของมันไม่ได้
- Aบิตเหล่านั้นอาจเป็นของสมาชิกอื่นด้วย ซึ่งจะทำให้เกิดผลลบเท็จ
- Bบิตใน Bloom filter เปลี่ยนไม่ได้หลังสร้าง
- CBloom filter เก็บสมาชิกเต็มรูป ซึ่งเมื่อถูกแฮชแล้วหาไม่พบอีก
- Dการลบจะเพิ่มอัตราผลบวกเท็จเป็น 100%
เฉลย
- 1. A · โหนดที่ไม่มีโหนดลูก
- 2. D · แปลงคีย์เป็นดัชนีในตาราง
- 3. B · คืนสมาชิกบนสุดโดยไม่เอาออก
- 4. C · สแตก
- 5. D · คิวลำดับความสำคัญแบบค่าต่ำสุด (min-priority queue)
- 6. C · O(1)
- 7. D · สแตกที่เก็บสมาชิกที่รอคำตอบ
- 8. A · บิตเหล่านั้นอาจเป็นของสมาชิกอื่นด้วย ซึ่งจะทำให้เกิดผลลบเท็จ
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com