1.ง่าย
ความซับซ้อนเชิงเวลาของการค้นหาแบบทวิภาค (binary search) บนอาร์เรย์ที่เรียงลำดับแล้วคือเท่าใด
- AO(n log n)
- BO(log n)
- CO(1)
- DO(n)
2.ง่าย
ความซับซ้อนเชิงเวลาของการค้นหาเชิงเส้นในอาร์เรย์ที่ไม่เรียงลำดับซึ่งมี n สมาชิก (กรณีเลวร้ายที่สุด) คือเท่าใด
- AO(1)
- BO(n)
- CO(log n)
- DO(n²)
3.ง่าย
merge sort แบบมาตรฐานที่ใช้อาร์เรย์ใช้หน่วยความจำเพิ่มเติมเท่าใด
- AO(n)
- BO(1)
- CO(log n)
- DO(n²)
4.ปานกลาง
การเรียกซ้ำของ merge sort สำหรับอาร์เรย์ n สมาชิกมีกี่ระดับ
- Aประมาณ √n
- Bประมาณ n / 2
- Cประมาณ log₂ n
- Dประมาณ n
5.ปานกลาง
ด้วยเหรียญ 1, 3 และ 4 และยอด 6 วิธีละโมบ "หยิบเหรียญใหญ่สุดก่อน" ใช้เหรียญกี่เหรียญเมื่อเทียบกับค่าที่เหมาะสมที่สุด
- Aละโมบใช้ 3 เหรียญ ค่าที่เหมาะสมที่สุดคือ 3
- Bละโมบใช้ 3 เหรียญ ค่าที่เหมาะสมที่สุดคือ 2
- Cละโมบใช้ 4 เหรียญ ค่าที่เหมาะสมที่สุดคือ 3
- Dละโมบใช้ 2 เหรียญ ค่าที่เหมาะสมที่สุดคือ 2
6.ปานกลาง
เหตุใดรูทีนการเรียงลำดับในไลบรารีจำนวนมากจึงเปลี่ยนไปใช้ insertion sort กับอาร์เรย์ย่อยที่เล็กมาก
- Aอัลกอริทึมแบบเรียกซ้ำจัดการอาร์เรย์ที่เล็กกว่า 10 สมาชิกไม่ได้
- BInsertion sort ใช้หน่วยความจำน้อยกว่าอัลกอริทึมการเรียงลำดับอื่นทุกตัวกับอินพุตใหญ่
- CInsertion sort เป็น O(n log n) ในกรณีเลวร้ายที่สุด
- DInsertion sort มีภาระเพิ่มน้อยและเร็วกับอินพุตที่เล็กหรือเกือบเรียงแล้ว
7.ยาก
ปัญหาความสอดคล้องข้อใดต่อไปนี้ทราบว่าแก้ได้ในเวลาพหุนาม
- ASAT ทั่วไปบนสูตรรูปแบบนอร์มัลเชิงเชื่อม
- B2-SAT ซึ่งแต่ละวลีมีลิเทอรัลไม่เกินสองตัว
- C3-SAT ซึ่งแต่ละวลีมีลิเทอรัลสามตัวพอดี
- Dความสอดคล้องของวงจร
8.ยาก
การคำนวณจำนวนฟีโบนักชีตัวที่ n ด้วยลูปที่เก็บเพียงสองค่าล่าสุดมีต้นทุนด้านเวลาและพื้นที่เท่าใด
- Aเวลา O(n) และพื้นที่ O(1)
- Bเวลา O(n) และพื้นที่ O(n)
- Cเวลา O(log n) และพื้นที่ O(n)
- Dเวลา O(2ⁿ) และพื้นที่ O(1)
เฉลย
- 1. B · O(log n)
- 2. B · O(n)
- 3. A · O(n)
- 4. C · ประมาณ log₂ n
- 5. B · ละโมบใช้ 3 เหรียญ ค่าที่เหมาะสมที่สุดคือ 2
- 6. D · Insertion sort มีภาระเพิ่มน้อยและเร็วกับอินพุตที่เล็กหรือเกือบเรียงแล้ว
- 7. B · 2-SAT ซึ่งแต่ละวลีมีลิเทอรัลไม่เกินสองตัว
- 8. A · เวลา O(n) และพื้นที่ O(1)
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com