Phiếu bài tập Thuật toán và độ phức tạp có đáp án

Phiếu bài tập Thuật toán và độ phức tạp miễn phí để in: 8 bài từ cơ bản đến mức đề thi, kèm đáp án. In ra hoặc lưu thành PDF.

Dành cho giảng viên: miễn phí in, sao chép và sử dụng trên lớp. Mỗi phiếu bài tập mới có số liệu mới và đáp án riêng. Chúng tôi rất cảm ơn nếu bạn đặt liên kết đến ExamProblems trên trang môn học.

Tên: ____________________   Ngày: ____________

1.Dễ

Thời gian chạy nào sau đây là đa thức?

  1. AO(n³)
  2. BO(n!)
  3. CO(nⁿ)
  4. DO(2ⁿ)
2.Dễ

Lớp độ phức tạp nào tăng nhanh nhất khi n lớn?

  1. AO(n log n)
  2. BO(n³)
  3. CO(n²)
  4. DO(2ⁿ)
3.Dễ

Tìm kiếm nhị phân đòi hỏi gì ở đầu vào của nó?

  1. AMảng không được có quá 1000 phần tử
  2. BMảng phải được sắp xếp
  3. CĐộ dài mảng phải là lũy thừa của hai
  4. DMảng chỉ được chứa số dương
4.Trung bình

Độ phức tạp thời gian của Fibonacci đệ quy ngây thơ (fib(n) = fib(n−1) + fib(n−2)) là:

  1. AHàm mũ
  2. BLogarit
  3. CHằng số
  4. DTuyến tính
5.Trung bình

Một thuật toán tham lam:

  1. ALuôn cho lời giải tối ưu
  2. BĐưa ra lựa chọn tốt nhất cục bộ ở mỗi bước
  3. CThử mọi lời giải có thể
  4. DChỉ dùng đệ quy
6.Trung bình

Độ phức tạp thời gian của thuật toán Bellman–Ford trên đồ thị có V đỉnh và E cạnh là gì?

  1. AO(E log V)
  2. BO(V + E)
  3. CO(V³ × E)
  4. DO(V × E)
7.Khó

Phép nhân Karatsuba thỏa mãn T(n) = 3T(n/2) + O(n). Nghiệm của nó là gì?

  1. AΘ(nlog₂ 3), khoảng n1,585
  2. BΘ(n3)
  3. CΘ(n log n)
  4. DΘ(n²)
8.Khó

Thuật toán nào tìm cây khung nhỏ nhất bằng cách liên tục thêm cạnh rẻ nhất không tạo chu trình?

  1. AThuật toán Kruskal
  2. BThuật toán Prim bắt đầu từ một nút
  3. CThuật toán Dijkstra
  4. DFloyd–Warshall

Đáp án

  1. 1. A · O(n³)
  2. 2. D · O(2ⁿ)
  3. 3. B · Mảng phải được sắp xếp
  4. 4. A · Hàm mũ
  5. 5. B · Đưa ra lựa chọn tốt nhất cục bộ ở mỗi bước
  6. 6. D · O(V × E)
  7. 7. A · Θ(nlog₂ 3), khoảng n1,585
  8. 8. A · Thuật toán Kruskal

Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.