ใบงาน อัลกอริทึมและความซับซ้อน พร้อมเฉลย

ใบงาน อัลกอริทึมและความซับซ้อน ฟรีสำหรับพิมพ์: 8 ข้อ ตั้งแต่ระดับง่ายถึงระดับข้อสอบจริง พร้อมเฉลย พิมพ์หรือบันทึกเป็น PDF ได้

ใบงานใหม่ฝึกออนไลน์พร้อมคำใบ้

สำหรับผู้สอน: พิมพ์ ทำสำเนา และใช้ในชั้นเรียนได้ฟรี ใบงานใหม่แต่ละชุดมีค่าตัวเลขใหม่และเฉลยของตัวเอง หากใส่ลิงก์ไปยัง ExamProblems ในหน้ารายวิชาของคุณ เราจะขอบคุณมาก

ชื่อ: ____________________   วันที่: ____________

1.ง่าย

memoisation คืออะไร

  1. Aการเขียนคอมเมนต์ข้างทุกบรรทัดของโค้ด
  2. Bการแปลงการเรียกซ้ำเป็นลูปที่เทียบเท่ากันโดยอัตโนมัติ จึงไม่ต้องใช้สแต็กการเรียก
  3. Cการคืนหน่วยความจำหลังฟังก์ชันทำงานเสร็จ
  4. Dการเก็บผลลัพธ์ของการเรียกฟังก์ชันเพื่อตอบการเรียกซ้ำจากหน่วยความจำ
2.ง่าย

อัลกอริทึมการเรียงลำดับใดเลือกตัวหลักแล้วแบ่งอาร์เรย์เป็นสมาชิกที่เล็กกว่าและใหญ่กว่า

  1. AMerge sort
  2. BQuicksort
  3. CBubble sort
  4. DInsertion sort
3.ง่าย

อัลกอริทึม O(n) ใช้เวลา 3 วินาทีเมื่อ n = 1 ล้าน เมื่อ n = 2 ล้านจะใช้เวลาประมาณเท่าใด

  1. A9 วินาที
  2. B12 วินาที
  3. C6 วินาที
  4. D3 วินาที
4.ปานกลาง

ความซับซ้อนเชิงเวลาเฉลี่ยแบบกระจายต้นทุน (amortised) ของการต่อท้ายอาร์เรย์พลวัตที่เพิ่มความจุเป็นสองเท่าเมื่อเต็มคือเท่าใด

  1. AO(n²)
  2. BO(1)
  3. CO(log n)
  4. DO(n)
5.ปานกลาง

อัลกอริทึม Floyd–Warshall คำนวณอะไรและเร็วเพียงใด

  1. Aเส้นทางสั้นที่สุดระหว่างจุดยอดทุกคู่ใน O(V³)
  2. Bเส้นทางสั้นที่สุดจากจุดยอดต้นทางหนึ่งไปยังจุดยอดอื่นทั้งหมดใน O(V + E)
  3. Cต้นไม้ทอดข้ามที่น้อยที่สุดใน O(E log V)
  4. Dลำดับทอพอโลยีใน O(V²)
6.ปานกลาง

ความซับซ้อนเชิงเวลาของอัลกอริทึมการโปรแกรมพลวัตมาตรฐานสำหรับสายอักขระย่อยร่วมที่ยาวที่สุด (LCS) ของสายอักขระที่ยาว m และ n คือเท่าใด

  1. AO(2m+n)
  2. BO(mn log n)
  3. CO(m + n)
  4. DO(mn)
7.ยาก

ปัญหาความสอดคล้องข้อใดต่อไปนี้ทราบว่าแก้ได้ในเวลาพหุนาม

  1. A2-SAT ซึ่งแต่ละวลีมีลิเทอรัลไม่เกินสองตัว
  2. BSAT ทั่วไปบนสูตรรูปแบบนอร์มัลเชิงเชื่อม
  3. C3-SAT ซึ่งแต่ละวลีมีลิเทอรัลสามตัวพอดี
  4. Dความสอดคล้องของวงจร
8.ยาก

ต้นทุนแบบกระจายของการเพิ่มค่าตัวนับฐานสองหนึ่งครั้งคือเท่าใด เมื่อการเพิ่มหนึ่งครั้งอาจพลิกหลายบิต

  1. AO(n log n) ต่อการเพิ่มหนึ่งครั้ง
  2. BO(n) ต่อการเพิ่มหนึ่งครั้ง
  3. CO(1) ต่อการเพิ่มหนึ่งครั้ง
  4. DO(log n) ต่อการเพิ่มหนึ่งครั้ง

เฉลย

  1. 1. D · การเก็บผลลัพธ์ของการเรียกฟังก์ชันเพื่อตอบการเรียกซ้ำจากหน่วยความจำ
  2. 2. B · Quicksort
  3. 3. C · 6 วินาที
  4. 4. B · O(1)
  5. 5. A · เส้นทางสั้นที่สุดระหว่างจุดยอดทุกคู่ใน O(V³)
  6. 6. D · O(mn)
  7. 7. A · 2-SAT ซึ่งแต่ละวลีมีลิเทอรัลไม่เกินสองตัว
  8. 8. C · O(1) ต่อการเพิ่มหนึ่งครั้ง

เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com