1.ง่าย
memoisation คืออะไร
- Aการเขียนคอมเมนต์ข้างทุกบรรทัดของโค้ด
- Bการเก็บผลลัพธ์ของการเรียกฟังก์ชันเพื่อตอบการเรียกซ้ำจากหน่วยความจำ
- Cการแปลงการเรียกซ้ำเป็นลูปที่เทียบเท่ากันโดยอัตโนมัติ จึงไม่ต้องใช้สแต็กการเรียก
- Dการคืนหน่วยความจำหลังฟังก์ชันทำงานเสร็จ
2.ง่าย
selection sort ทำงานอย่างไร
- Aหาค่าน้อยที่สุดของส่วนที่ยังไม่เรียงซ้ำ ๆ แล้วสลับไปไว้ข้างหน้า
- Bสลับสมาชิกข้างเคียงที่เรียงผิดลำดับซ้ำ ๆ
- Cแบ่งอาร์เรย์เป็นสองครึ่งแล้วผสานกัน
- Dแทรกแต่ละสมาชิกเข้าส่วนที่เรียงแล้วซึ่งขยายขึ้นโดยการเลื่อน
3.ง่าย
สัญกรณ์ใดใช้อธิบายขอบเขตบนของอัตราการเติบโต
- ABig O
- BBig Omega
- CBig Theta
- DLittle omega
4.ปานกลาง
ขอบเขตล่างของการเรียงลำดับแบบเปรียบเทียบในกรณีเลวร้ายที่สุดคือ
- AΩ(n)
- BΩ(n log n)
- CΩ(n²)
- DΩ(log n)
5.ปานกลาง
การค้นหาในแนวกว้าง (BFS) บนกราฟที่ไม่มีน้ำหนักให้ผลเป็น
- Aลำดับทอพอโลยีในทุกกราฟ
- Bต้นไม้ทอดข้ามที่น้อยที่สุด
- Cเส้นทางสั้นที่สุดในกราฟที่มีเส้นเชื่อมน้ำหนักติดลบ
- Dเส้นทางสั้นที่สุดในแง่จำนวนเส้นเชื่อมจากโหนดเริ่มต้น
6.ปานกลาง
ความซับซ้อนเชิงเวลาของฟีโบนักชีแบบเรียกซ้ำตรง ๆ (fib(n) = fib(n−1) + fib(n−2)) คือ
- Aเอกซ์โพเนนเชียล
- Bคงที่
- Cลอการิทึม
- Dเชิงเส้น
7.ยาก
ข้อใดเกี่ยวกับการเลือกสมาชิกที่เล็กที่สุดอันดับที่ k ของอาร์เรย์ที่ไม่เรียงลำดับถูกต้อง
- Aการเลือกทำได้ใน O(n²) เท่านั้น
- BQuickselect ทำงานใน O(log n) ในกรณีเลวร้ายที่สุด เพราะเรียกซ้ำเพียงฝั่งเดียวของตัวหมุน
- CQuickselect ทำงานใน O(n) คาดหมาย และ median-of-medians รับประกัน O(n) ในกรณีเลวร้ายที่สุด
- Dการเลือกต้องใช้ Ω(n log n) เสมอเพราะต้องเรียงลำดับ
8.ยาก
ปัญหาความสอดคล้องข้อใดต่อไปนี้ทราบว่าแก้ได้ในเวลาพหุนาม
- Aความสอดคล้องของวงจร
- BSAT ทั่วไปบนสูตรรูปแบบนอร์มัลเชิงเชื่อม
- C2-SAT ซึ่งแต่ละวลีมีลิเทอรัลไม่เกินสองตัว
- D3-SAT ซึ่งแต่ละวลีมีลิเทอรัลสามตัวพอดี
เฉลย
- 1. B · การเก็บผลลัพธ์ของการเรียกฟังก์ชันเพื่อตอบการเรียกซ้ำจากหน่วยความจำ
- 2. A · หาค่าน้อยที่สุดของส่วนที่ยังไม่เรียงซ้ำ ๆ แล้วสลับไปไว้ข้างหน้า
- 3. A · Big O
- 4. B · Ω(n log n)
- 5. D · เส้นทางสั้นที่สุดในแง่จำนวนเส้นเชื่อมจากโหนดเริ่มต้น
- 6. A · เอกซ์โพเนนเชียล
- 7. C · Quickselect ทำงานใน O(n) คาดหมาย และ median-of-medians รับประกัน O(n) ในกรณีเลวร้ายที่สุด
- 8. C · 2-SAT ซึ่งแต่ละวลีมีลิเทอรัลไม่เกินสองตัว
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com