1.ง่าย
สมาชิกที่เล็กที่สุดของ min-heap ทวิภาคอยู่ที่ใด
- Aในใบใดก็ได้ ซึ่งต้องค้นหา
- Bที่ราก
- Cในตำแหน่งสุดท้ายของอาร์เรย์
- Dในใบซ้ายสุด
2.ง่าย
อะไรคือนิยามของต้นไม้ทวิภาค (binary tree)
- Aทุกโหนดมีลูกไม่เกินสองตัว
- Bทุกโหนดเก็บเลขฐานสอง
- Cทุกโหนดมีลูกสองตัวพอดี
- Dต้นไม้มีสองระดับพอดี
3.ง่าย
แมป (map หรือ dictionary) เก็บอะไร
- Aคู่คีย์–ค่าที่คีย์ไม่ซ้ำกัน
- Bค่าที่เรียงตามขนาด
- Cค่าตามลำดับการแทรกเท่านั้น
- Dคู่ของคีย์ที่เท่ากัน
4.ปานกลาง
โปรแกรมที่ทำงานอยู่ใช้โครงสร้างข้อมูลใดติดตามการเรียกฟังก์ชันที่กำลังทำงานและตัวแปรท้องถิ่น
- Aคิวหน่วยความจำฮีป
- Bตารางแฮชของฟังก์ชัน
- Cbinary search tree ของเฟรม
- Dสแตกการเรียก (call stack)
5.ปานกลาง
โครงสร้างข้อมูลใดที่การค้นหาในแนวลึก (DFS) แบบวนซ้ำใช้
- Aฮีป
- Bสแตก
- Cตารางแฮชเท่านั้น
- Dคิว
6.ปานกลาง
นิพจน์ postfix 3 4 + 2 * มีค่าเท่าใด
- A10
- B14
- C11
- D24
7.ยาก
อัลกอริทึมของ Kahn สำหรับการเรียงทอพอโลยีลบจุดยอดที่มี in-degree 0 ซ้ำ ๆ โครงสร้างใดเก็บจุดยอดเหล่านั้น
- Aสแตกของเส้นเชื่อมที่เยี่ยมทั้งหมด
- Bmax-heap เรียงตาม out-degree
- Cเมทริกซ์ประชิดที่บันทึกว่าจุดยอดใดถูกลบไปแล้ว
- Dคิว (หรือคอลเล็กชันใดก็ได้) ของจุดยอดที่มี in-degree เป็น 0
8.ยาก
วัตถุถูกเก็บเป็นคีย์ใน hash map จากนั้นฟิลด์ที่ฟังก์ชันแฮชใช้ถูกเปลี่ยน ผลลัพธ์ที่น่าจะเกิดคืออะไร
- Aไม่มีอะไรเปลี่ยน เพราะแฮชของคีย์คำนวณเพียงครั้งเดียวตอนโปรแกรมเริ่มทำงาน
- Bmap โยนข้อผิดพลาดทันทีที่ฟิลด์เปลี่ยน
- Cการค้นหาวัตถุอาจล้มเหลว เพราะมันอยู่ในถังของแฮชเก่า
- Dmap ย้ายคีย์ไปถังใหม่โดยอัตโนมัติ
เฉลย
- 1. B · ที่ราก
- 2. A · ทุกโหนดมีลูกไม่เกินสองตัว
- 3. A · คู่คีย์–ค่าที่คีย์ไม่ซ้ำกัน
- 4. D · สแตกการเรียก (call stack)
- 5. B · สแตก
- 6. B · 14
- 7. D · คิว (หรือคอลเล็กชันใดก็ได้) ของจุดยอดที่มี in-degree เป็น 0
- 8. C · การค้นหาวัตถุอาจล้มเหลว เพราะมันอยู่ในถังของแฮชเก่า
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com