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ễ

Thuật toán sắp xếp nào liên tục hoán đổi các phần tử kề nhau đang sai thứ tự?

  1. ASắp xếp trộn
  2. BSắp xếp nổi bọt
  3. CQuicksort
  4. DSắp xếp vun đống
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(2ⁿ)
  4. DO(n³)
3.Dễ

Độ phức tạp không gian đo lường:

  1. ALượng bộ nhớ một thuật toán cần khi đầu vào tăng
  2. BKích thước vật lý của máy tính
  3. CDung lượng đĩa của tệp chương trình sau khi được biên dịch
  4. DSố dòng mã
4.Trung bình

Trong một mảng đã sắp xếp, bạn tìm hai phần tử có tổng bằng giá trị đích bằng cách di chuyển một con trỏ từ mỗi đầu vào trong. Độ phức tạp thời gian là bao nhiêu?

  1. AO(log n)
  2. BO(n)
  3. CO(n²)
  4. DO(n log n)
5.Trung bình

Độ phức tạp thời gian của việc tính số Fibonacci thứ n bằng bảng từ dưới lên là gì?

  1. AO(n²)
  2. BO(log n)
  3. CO(2ⁿ)
  4. DO(n)
6.Trung bình

Độ phức tạp thời gian trong trường hợp xấu nhất của quicksort là gì?

  1. AO(n²)
  2. BO(n log n)
  3. CO(n)
  4. DO(log n)
7.Khó

22n có thuộc O(2ⁿ) không?

  1. AKhông, vì 22n tăng chậm hơn 2ⁿ
  2. BKhông, vì 22n = 4ⁿ và 4ⁿ / 2ⁿ = 2ⁿ tăng không giới hạn
  3. CCó, vì cả hai đều là hàm mũ
  4. DCó, vì các hệ số hằng trong số mũ luôn bị bỏ qua trong Big O
8.Khó

Vì sao thuật toán Dijkstra có thể cho kết quả sai khi một số trọng số cạnh âm?

  1. ANó rơi vào vòng lặp vô hạn ở mọi cạnh âm
  2. BSố âm không thể lưu trong hàng đợi ưu tiên
  3. CMột đỉnh được chốt khi được lấy ra, nhưng một cạnh âm sau đó vẫn có thể cho nó một đường đi ngắn hơn
  4. DNó chỉ hoạt động trên đồ thị vô hướng

Đáp án

  1. 1. B · Sắp xếp nổi bọt
  2. 2. C · O(2ⁿ)
  3. 3. A · Lượng bộ nhớ một thuật toán cần khi đầu vào tăng
  4. 4. B · O(n)
  5. 5. D · O(n)
  6. 6. A · O(n²)
  7. 7. B · Không, vì 22n = 4ⁿ và 4ⁿ / 2ⁿ = 2ⁿ tăng không giới hạn
  8. 8. C · Một đỉnh được chốt khi được lấy ra, nhưng một cạnh âm sau đó vẫn có thể cho nó một đường đi ngắn hơn

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