Gi i thi u
Đ tăng hàm
Big-O
Tính ch t
Big-Theta
Tính ch t
Little-o
Đ ph c t p
X u nh t
Trung bình
Tính đúng đ n
Đi u ki n
L p
Ví d
Tóm t t
1/35T toán đ i h c FPT
13/12/12
Ch ng 2.2, 2.3 Kenneth H. Rosenươ
Xn 2008
Đ i h c FPT
Discrete Mathematics I
đ ph c t p & tính
đúng đ n
complexity & correctness
đ ph c t p & tính
đúng đ n
complexity & correctness
Thu t toán
Algorithm
Thu t toán
Algorithm
Gi i thi u
Đ tăng hàm
Big-O
Tính ch t
Big-Theta
Tính ch t
Little-o
Đ ph c t p
X u nh t
Trung bình
Tính đúng đ n
Đi u ki n
L p
Ví d
Tóm t t
2/35T toán đ i h c FPT
13/12/12
Thu t toán GI I THI U
Algorithm
INTRODUCTION
Gi i thi u
Cng ta s h c:
Đánh giá v đ tăng c a m
Big-O, big-Theta
Đ ph c t p thu t toán: Đ ph c t p th i gian
Tr ng h p x u nh tườ
Tr ng h p trung bìnhườ
Tính đúng đ n thu t toán
Gi i thi u
Đ tăng hàm
Big-O
Tính ch t
Big-Theta
Tính ch t
Little-o
Đ ph c t p
X u nh t
Trung bình
Tính đúng đ n
Đi u ki n
L p
Ví d
Tóm t t
3/35T toán đ i h c FPT
13/12/12
Thu t toán BIG-O
Algorithm BIG-O
Đ nh nghĩa Definition
Đ nh nghĩa Definition
Cho f(x) và g(x) là hai hàm s t t p các s nguyên
ho c s th c đ n t p các s th c. Ta nói ế f(x) là O(g(x))
ho c f(x) là big-O c a g(x) hay f(x) O(g(x)) n u t n t i ế
hai h ng s C và k sao cho
|f(x)| C|g(x)| v i m i x k.
Cho f(x) và g(x) hai m s t t p các s nguyên
ho c s th c đ n t p các s th c. Ta nói ế f(x) là O(g(x))
ho c f(x) là big-O c a g(x) hay f(x) O(g(x)) n u t n t i ế
hai h ng s C và k sao cho
|f(x)| C|g(x)| v i m i x k.
Big-O
V i m i thu t toán s phép toán c n th c hi n s m t
m s theo kích th c đ u vào. Cng ta s đánh g ướ
tính hi u qu c a m i thu t toán b ngch kh o sát đ
tăng c amy.
Ta s ch xét các hàm d ng nên s b d u | | ươ
Gi i thi u
Đ tăng hàm
Big-O
Tính ch t
Big-Theta
Tính ch t
Little-o
Đ ph c t p
X u nh t
Trung bình
Tính đúng đ n
Đi u ki n
L p
Ví d
Tóm t t
4/35T toán đ i h c FPT
13/12/12
Thu t toán BIG-O
Algorithm BIG-O
Ví d Example
Ch ng minh f(n) = 30n + 8big-O c a g(n) = n.
Ta c n ch ng minh c,k: n > k: 30n + 8 cn.
L y c = 31, k = 8. Khi đó
v i n > k = 8,
cn = 31n = 30n + n > 30n+8
n>k=8
n
30n+8
cn =
31n
30n+8 O(n)
Gtr c th c a c k
g i là b ng ch ng . Ta có
th tìm nhi u b ng ch ng.
Ch ng h n:
c = 32, k = 9
Big-O
Gi i thi u
Đ tăng hàm
Big-O
Tính ch t
Big-Theta
Tính ch t
Little-o
Đ ph c t p
X u nh t
Trung bình
Tính đúng đ n
Đi u ki n
L p
Ví d
Tóm t t
5/35T toán đ i h c FPT
13/12/12
giai th a
Thu t toán BIG-O
Algorithm BIG-O
Ki ni m big-O đ c s d ng đ đánh giá s pp toán ượ
c nng đ gi i m t bài toán theo m t th t c ho c m t
thu t toán c th . Cácm s c b n th ng đ cng ơ ườ ượ
đ so sánh là:
1, log(log(n)), log(n), logk(n), n1/k, n, nlog(n), nk, an, n!, nn
h ng logarit đa th c
mũ
-10
0
10
20
30
40
50
60
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
n
1
log(n)
n^2
2^n
n!
Big-O