You are on page 1of 3

Sự cần thiết của phân tishc giải thuật

Phần lớn bài toán thường có nhiều gt khác nhau để 1 làm 1 bài toán

 Cần đánh giá giải thuật để lựa chọn giải thuật


- Đánh giá giải thuật

Tính đúng đắn

Tính đơn giản

Tính nhanh chóng(thời gian thực thi)

Đo thời gian thực hiện

- Độc lập vs máy tính và các yếu tố lien quan tới máy sẽ dẫn tới khái niệmj độ phức tạp tính toán
gaiir thuật
- Là 1 hàm T(n)
+ hàm T(n)>=0 n là kích thước độ lớn của gt

T(n)=cn2=O(n2)

Hàm f(n) xác định là O(g(n))

Đc gọi là có cấp g(n) nếu tồn tại hằng số C và no sao cho:

F(n)<= cg(n) khi n>=no

Các hàm log2n n n log2n gợi là hàm đa thức

Các hàm 2n,n! nn là hàm mũ

Mổ giải thuật:hàm đa thức chấp nhận đc

Còn hàm mũ cần cải tiến

Độ phức tạp của gt chính là thời gian thực hiện của chương trình

Cho 2 ct

P1 có t(n)=O(f1(n))

P2 có t2(n)=……..

Quy tắc cộng

Tgian thực thi p1 vs p2 nối tiếp

Tn=T1n+T2n=Omax1+Omax2=O(max(f1(n),f2(n))
Vd

Quy tắc nhân

P1 và p2 lồng nhau
Vòng lặp:tổng tgian thực hiện

+ nếu ko xác định đc thì lấy số lần lặp xấu nhát

+ nếu tgian thực hiện than vòng lặp ko đổi thì tgian thực hiện vòng lặp là tích số lần lặp cs tgian
thực thiện than vòng lặp

Các tính độ phức tạp

Xác định đầu vào

Xác định các phép toán tích cực

Cách 1:trường hợp tổng quát

Tính thời gian thự hiện T(n) cho toan bộ chương trình: O(f(n)) từ T(n)

Cách 2: ko áp dụng cho đệ quy

Chia chương trình thánh nhiều đoạn nhro

Tính T(n) và O(fn) cho từng đoạn

Áp dụng quy tắc cộng quy tắc nhân để có O(f(n)) cho cả chương trình

You might also like