Professional Documents
Culture Documents
Cần phải tổ chức biểu diễn thành cấu trúc thích hợp
nhất
- Phản ánh chính xác dữ liệu thực tế
Kết quả
mong muốn
Cấu
trúc
dữ liệu
Chương
trình
Giải
thuật
- CTDL tốt giúp giải thuật xử lý phát huy tối đa khả năng.
7 9 5 6 9 5 8 7 8 6 9 5
Tiên
Tùng
Thảo
Ngược lại
Sinh viên
cài đặt
Input a, b
no
b >0 Output a
yes
r = a % b;
a =b;
b =r;
End
Giải thuật hình thức Chương trình mã giả CT C++, Pascal, Java
- PP này phản ánh tinh thần của quá trình modul hóa bài
toán và thiết kế top - down
Gần gũi ngôn ngữ khoa học kỹ thuật, dễ biểu diễn. Rườm rà
GT A GT C
GT B GT tốt
Running Time
Đặt N0 = 1, và C = 4, thì
n ≥ 1, chứng minh được rằng
T(n) = (n+1)2 ≤ 4n2, n ≥ 1,
n0 Input Size
tỉ suất tăng khi đó n2
Log2n n nlog2n n2 n3 2n n! nn
n nlog2n 2n
16 64 256
32 160 2.147.483.648
1,00E+09
1,00E+08
n
log n
1,00E+07
sqrt n
n log n
1,00E+06
100n
n^2
1,00E+05
T(n)
n^3
1,00E+04
1,00E+03
1,00E+02
1,00E+01
1,00E+00
1,00E-01
2 4 8 16 32 64 128 256 512 1024
n
1,00E+143
1,00E+131
1,00E+119 n
log n
1,00E+107
sqrt n
1,00E+95 n log n
100n
1,00E+83 n^2
T(n)
n^3
1,00E+71
2^n
1,00E+59
1,00E+47
1,00E+35
1,00E+23
1,00E+11
1,00E-01
2 4 8 16 32 64 128 256 512 1024
n
Thời gian thực hiện cấu trúc IF là thời gian lớn nhất
thực hiện sau IF hoặc ELSE và thời gian điều kiện.
Thường thời gian điều kiện là O(1).
Thời gian thực hiện vòng lặp là tổng thời gian thực
hiện thân vòng lặp. Nếu thời gian thực hiện thân
vòng lặp ko đổi thì tg thực hiện vòng lặp là tích số
lần lặp với thời gian thực hiện thân vòng lặp.
Thời gian thực hiện một chuỗi các lệnh lồng nhau
được xác định bằng quy tắc nhân.
Cấu trúc dữ liệu - Khoa CNTT 44
1.4 Phân tích giải thuật
Quy tắc cộng và quy tắc nhân
Cho giải thuật P1 có thời gian thực hiện giải thuật
T1(n)= O(f(n))
Cho giải thuật P2 có thời gian thực hiện giải thuật
T2(n)= O(g(n))
Quy tắc cộng
Nếu P1 tiếp theo P2
T1(n)+ T2(n)= O(max(f(n),g(n)))
Hoặc P2 tiếp theo P1
Ví dụ
Nếu T1(n) = O(n), T2(n) = O(n2) T1 + T2 = O(n2)
- (7) }
Khái niệm
Độ phức
tạp tính
toán của Các hàm độ phức tạp thường gặp
giải
thuật Quy tắc tính độ phức tạp