Professional Documents
Culture Documents
Trầm Vũ Kiệt
Đánh giá độ phức tạp
thuật toán
Chương 1 (tiếp theo)
Nội dung
• Giới thiệu
• Phân tích trực tiếp các đoạn mã
• Phân tích đoạn mã có lời gọi chương trình con
• Đánh giá dựa trên thực nghiệm
• Bài tập
• Khi đó:
05/08/2023 Cấu trúc dữ liệu & Giải thuật 7
Ví dụ Quy tắc cộng
• Ví dụ : Trong một chương trình có 3 bước thực
hiện mà thời gian thực hiện từng bước lần lượt là
O(n2), O(n3) và O(nlog2n) thì thời gian thực hiện 2
bước đầu là O(max(n2, n3)) = O(n3).
• Thời gian thực hiện chương trình sẽ là
O(max(n3, nlog2n)) = O(n3)
T(n) = T(n-1) + 1
= T(n-2) + 1 + 1
….
= T(n-i) + i
Dừng khi n-i = 0, hay i=n, khi đó T(n) = 1 + n = O(n)
05/08/2023 Cấu trúc dữ liệu & Giải thuật 30
Độ phức tạp chương trình con dạng đệ
quy
• Giải phương trình đệ quy – Phương pháp truy hồi
1. Ví dụ: Giải
T(n) = T(n/2) + 1
= T(n/22) + 1 + 1
….
= T(n/2i) + i
Dừng: n/2i = 1 (n0), hay i=log2n, khi đó T(n) = 0 + log2n
05/08/2023 Cấu trúc dữ liệu & Giải thuật 31
Nội dung
• Giới thiệu
• Phân tích trực tiếp các đoạn mã
• Phân tích đoạn mã có lời gọi chương trình con
• Đánh giá dựa trên thực nghiệm
• Bài tập