1.ง่าย
อัลกอริทึมที่มีลูปซ้อนกันสองชั้น แต่ละชั้นทำงาน n รอบ โดยทั่วไปมีความซับซ้อนเท่าใด
- AO(n)
- BO(log n)
- CO(n²)
- DO(2n)
2.ง่าย
การค้นหาแบบทวิภาคต้องการอะไรจากอินพุต
- Aอาร์เรย์ต้องมีสมาชิกไม่เกิน 1000 ตัว
- Bอาร์เรย์ต้องเรียงลำดับแล้ว
- Cความยาวอาร์เรย์ต้องเป็นเลขกำลังสอง
- Dอาร์เรย์ต้องมีแต่จำนวนบวก
3.ง่าย
เวลาทำงานในข้อใดเป็นพหุนาม
- AO(2ⁿ)
- BO(nⁿ)
- CO(n!)
- DO(n³)
4.ปานกลาง
การกล่าวว่าอัลกอริทึม O(n²) เป็น O(n³) ด้วย ถูกต้องหรือไม่
- Aถูกต้อง เพราะ Big O เป็นขอบเขตบน และ n² เติบโตไม่เร็วกว่า n³
- Bถูกต้อง แต่เฉพาะเมื่อ n น้อยกว่า 100
- Cไม่ถูก เพราะ n³ น้อยกว่า n² เมื่อ n มาก
- Dไม่ถูก เพราะ Big O ต้องระบุอัตราการเติบโตที่แน่นอนของฟังก์ชันเสมอ
5.ปานกลาง
ในปัญหาการเลือกกิจกรรม กฎละโมบข้อใดให้จำนวนกิจกรรมที่ไม่ทับซ้อนกันมากที่สุดเสมอ
- Aเลือกกิจกรรมที่สั้นที่สุดก่อน
- Bเลือกกิจกรรมที่ทับซ้อนกับผู้อื่นน้อยที่สุดก่อน แล้วทำซ้ำกับกิจกรรมที่เข้ากันได้
- Cเลือกกิจกรรมที่เสร็จเร็วที่สุด แล้วทำซ้ำกับกิจกรรมที่เข้ากันได้
- Dเลือกกิจกรรมที่เริ่มเร็วที่สุด
6.ปานกลาง
ความซับซ้อนเชิงเวลาของ for i = 1 to n: (j = 1; while j < n: j = j × 2) คือเท่าใด
- AO(log n)
- BO(n²)
- CO(n)
- DO(n log n)
7.ยาก
ปัญหาพนักงานขายเดินทางถูกจัดประเภทอย่างไร
- Aตัดสินไม่ได้
- Bแบบการตัดสินใจอยู่ใน P แต่แบบหาค่าเหมาะที่สุดเป็น NP-complete
- Cอยู่ใน P เพราะอัลกอริทึมของ Dijkstra แก้ได้โดยเยี่ยมชมทุกเมืองหนึ่งครั้ง
- Dแบบการตัดสินใจเป็น NP-complete และแบบหาค่าเหมาะที่สุดเป็น NP-hard
8.ยาก
ปัญหา 0/1 knapsack ที่แก้ด้วยการโปรแกรมพลวัตใช้เวลา O(nW) เหตุใดจึงเรียกว่าเวลาแบบกึ่งพหุนาม (pseudo-polynomial)
- AW เป็นตัวเลข เวลาจึงเป็นเอกซ์โพเนนเชียลเมื่อเทียบกับจำนวนบิตที่ใช้เขียน W
- Bเพราะใช้ได้เฉพาะ W = 0
- Cเพราะอัลกอริทึมเป็นแบบสุ่มและเวลาทำงานแปรผันไปตามอินพุตแต่ละครั้ง
- Dเพราะ n มีค่าน้อยเสมอ
เฉลย
- 1. C · O(n²)
- 2. B · อาร์เรย์ต้องเรียงลำดับแล้ว
- 3. D · O(n³)
- 4. A · ถูกต้อง เพราะ Big O เป็นขอบเขตบน และ n² เติบโตไม่เร็วกว่า n³
- 5. C · เลือกกิจกรรมที่เสร็จเร็วที่สุด แล้วทำซ้ำกับกิจกรรมที่เข้ากันได้
- 6. D · O(n log n)
- 7. D · แบบการตัดสินใจเป็น NP-complete และแบบหาค่าเหมาะที่สุดเป็น NP-hard
- 8. A · W เป็นตัวเลข เวลาจึงเป็นเอกซ์โพเนนเชียลเมื่อเทียบกับจำนวนบิตที่ใช้เขียน W
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com