Big O

March 29, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Big O...

Description

 

Bài 1: 1

  2  n2 = ()  +  = () 

1

  2   =  +  ? ? ? ?

Giải :  Dâu “=” ơ đăng thức chứa O( 2) nó ch là ky hiê  u,̣ th hiê  ṇ  1

2

 

2

2

2  n

 € ( ), O( ) ch là mô  t ̣ t   p̣ hp. 1 Con dâu “=” ơ   2  n2 = 2 + 1 nó th hiê  ṇ là mô  t ̣ đăng thức. 1

Vì vậ 2  n2 = 2 + 1 là sai.

Bài 2:   Xét f(n) = 7n2 g(n) = n2 – 80n h(n) = n3 Chứng minh: f = O(g) g = O(f) f = O(h) h ≠ O(f).

Giải: 

C/m: f = O(g)

 

Giả sư: 7n2 ≤ C(n2 – 80n) , ∀n ≥ n0. Sau khi xét bảng bin thiên ca bât phng trình trên em chn đc: C = 8, n0 = 640s thì bât phng trình trên tha. => f(n) ≤ C.g(n) , ∀n ≥ n0 => f(n) = O(g) 

C/m: g = O(f) g(n) = n2 − 80n ≤ n2 ≤ 7n2, ∀n ≥ 1

Chn C = 1, n0 =1. => g(n) ≤ C.f (n) , ∀n ≥ n0 => g(n) = O(f) 

C/m: f = O(h) Ta có: f(n) = 7n2 ≤ 7n3 , ∀n ≥ 1 Chn C = 7, n0 = 1 => f(n) ≤ c.h(n), ∀n ≥ n0 =>  f = O(h)



C/m: h ≠ O(f) Giả sư: h( h(n) = n3 ≤ C( C(7n2), ∀n ≤ 0, C ∈ R + Xét dâu hàm số () = n3 − C(7n2) n 0 k(n) + 0 V  ̣ ch cn n = 7C là n3 > C(7n2) Đặt n0 = 7C. => h(n) ≤ C.f (n) , ∀n ≤ 0 => ∀n ≥ 0 thì h(n) ≠ C.f(n) =>  h(n) ≠ O(f)

Bài 3: Tim

f(n) sao cho T(n) = O(f(n))

 = 7

-

0

+

 

a) T(n) = 7n − 2 T(n) = 7n − 2 ≤ 7n , ∀ n ≥ 1



⇒ T(n) ≤ 7n

Chn C = 7, n0 = 1, f(n) = n. T(n) ≤ C.f(n) , ∀ n ≥ n0 ⇒ T(n) = O(f(n))

b) T(n) = 3n3 + 2n2 T(n) = 3n3 + 2n2 ≤ 3n3 + 2n3 , ∀ n ≥ 1  ⇒ T(n) ≤ 5n3 Chn C = 5 , n0 = 1 , f(n) = n3. 

 T(n) ≤ C.f(n) , ∀ n ≥ n 0 ⇒ T(n) = O(f(n))

c) T(n) = (n + 1)2 T(n) = (n2 + 1) ≤ (n2 + n2) , ∀ n ≥ 1



⇒ T(n) ≤ 4n2

Chn C = 4 , n0 = 1, f(n) = n2 . T(n) ≤ Cf(n) , ∀ n ≥ n 0 ⇒ T(n) = O(f(n))

d) T( T(n) = 2100 

T(n) = 2100 ≤ 2100n , ∀ n ≥ 1 ⇒ T(n) ≤ n

Chn C = 1 , n0 = 1 , f(n) = n. T(n) ≤ Cf(n) , ∀ n ≥ n0 ⇒ T(n) = O(f(n)) 5

e) e)   T(n) = n   

T(n) =

 

5 n

  ≤ 5 , ∀ n ≥ 1

 

⇒ T(n) ≤ 5

Chn C = 1 , n0 = 1 , f(n) = 5 . T(n) ≤ Cf(n) , ∀ n ≥ n0 ⇒ T(n) = O(f(n))

f) T(n) = 

T(n) =

1 3 n  + 100n 10 1 3 1 3 n  + 100n ≤ n  + 10 10

100n3, ∀ n ≥ 1

⇒ T(n) ≤ 100,1n3

Chn C = 100,1 100,1 , n0 = 1 , f(n) = n3. T(n) ≤ C.f(n) , ∀ n ≥ n0 ⇒ T(n) = O(f(n)) g) T(n) = 20n3 − 10nlogn + 5 

T(n) = 20n3 − 10n.logn + 5 ≤ 20n3 + 5 ≤ 20n 3 + 5n3 ≤ 25n3 , ∀ n ≥ 1

⇒ T(n) ≤ 25n3

Chn C = 25 , n0 = 1 , f(n) = n3 .  T(n) ≤ C.f (n) ,

∀ n ≥ n0

⇒ T(n) = O(f(n)) h) T(n) = 3logn + loglogn 

T(n) = 3logn + loglogn ≤ 3logn + logn ≤ 4logn , ∀ n ≥ 1

⇒ T(n) ≤ 4lgn

Chn C = 4 , n0 = 1 , f(n) = lgn .  T(n) ≤ C.f (n) , ⇒ T(n) = O(f(n))

∀ n ≥ n0

 

Bài 4: Sắp xp tng dn the bậc tng trơng Big-O +) Grup 1: -

f 1(n) = n0.999999log(n) = O(n0.999999 x nc) = O(n0.999999 + c) f 2(n) = 10000000n = O(n) n

n

3 f  f 4(n) (n) = = 1.000001 n2 = O(n2)  = O(c )  f  3(n) < f 1(n) < f 2(n) < f 4(n)

+) Grup 2: - f 1(n) = 22  = 2O(1) - f 2(n) = 21000000n = 2O(n) 1000000

() n 2

n ( n −1)

n!

 = 2 ( n −2 ) !  = 2  = O(n2) 3 3 - f 4(n) = n√ n= ¿  n 2  = 2log n  = 2 2 log n = 2O ( n ) - f 3(n) =

3 2

c

2

2



f 1(n) < f 2(n) < f 4(n) < f 3(n)

+) Grup 3: - f 1(n) = - f 2(n) =

n √ n = 2log

2

n√ n

 = 2√ n log n = 2O (n ) 1 +c 2

2

 = 2O ( n) n n n - f 3(n) = n10 . 2 2 = 2log n + 2  = 210log n + 2  = 2O ( n ) 2

n

10

2

n

- f 4(n) = 

(i + 1) = n + ∑ = i 1

c

2

n (n +1 )  = 2

O(n2)

f 2(n) < f 3(n) < f 1(n) < f 4(n)

+) Grup 4: - f 1(n) = (n-2)! = O(n n-2) - f 2(n) = 5 lg ( n +100 )10 = 50lg(n+100) = O(nc) - f 3(n) = 22n = 2O(n) - f 4(n) = 0.001n4 + 3n3 + 1 = O(n4) - f 5(n) = ln2 n = O(ncxnc) = O(n2c) 1 3 n = O( n 3 ) - f 6(n) = √  - f 7(n) = 3n = O(cn) =>f 7(n) < f 3(n) < f 2(n) < f 5(n) < f 6(n) < f 4(n) < f 1(n)

Bài 5:

 

a) Cho Cho f(n) f(n) = n3/2 và g(n) = 2n2. Chứng mnh hoặc bác bỏ f(n) = O(g(n)).

+) ∃ c ∈ R

+¿ ,n 0 ∈ N ¿

 sa ch n3/2  ≤c2n2, ∀ n ≥ n0

Chn c = 1. Khi đó ta có:   2n2 – n3/2 ≥0  n(2n - √ n ¿ ≥ 0



  =>

{

 1 4 n =0

n≥

Chn n0 =1 D đó n3/2  ≤2n2 , ∀ n ≥ 1 => f(n) = O(g(n)) luôn đúng. b) Chứng Chứng mnh: mnh: n + n2O(lnn) = O(n2 lnn).

Bài 6: Chứng minh a) n3 ∉O(n2 ) .

Gả sử n3 ∈ O(n2), Kh đó: 3

+¿ ,n ∈ N ¿

2

 sao cho n   ≤cn , 2    n  < cn  , ∀ n ≥ n0 (Vô lý).

∃ c ∈ R

0

Giả sử  sai,  sai,  do

∀ n ≥ n0

đó n3 ∉O(n2 ) là mệnh đề đúng.

b) n4 + n + 1 ∉O(n2 ) . Gả sử n4 + n + 1 ∈O(n2 ) . Kh đó: + ¿ ,n ∈ N ¿  sao cho n4 + n + 1 ≤cn2, ∃ c ∈ R Chọn c = 3 => n4 + n + 1 ≤3n2 0

 

 

∀ n ≥ n0



  n4 – 3n32 + n2+ 1 ≤0   (n-1)(n  + n  – 2n -1) ≤ 0  

+1

[

  −1.80194 ≤ n ≤ −0.445042 (loại  )Chọn n  = 1 => n4 + n



 

≤3n2 , ∀ n ≥ 1  (Vô

1 ≤ n ≤ 1.24698

0

lý, vi

1 ≤ n ≤ 1.24698) 

 

 sai,    Giả sử  sai,

 do đó n4 + n + 1 ∉O(n2 ) là mệnh đề đúng.

c) O( O(n n2) ≠ O(n).

Gả sử O(n2) ¿ O(n) Xét 1 hàm f(n) = n2 ∈ O(n2) +) Đưa về bà toán chứng mnh n2 ∈ O(n): +¿ ,n 0 ∈ N ¿

2

≤cn,  sao cho n     n ≤ c ∀ n ≥ n  0 (Vô lý).

∃ c ∈ R

∀ n ≥ n0

 Vậy mệnh đề ban đầu O(n2) ≠ O(n) là đúng d)n ∉ O(log 2 n).

Gả sử n ∈ O(log 2 n), kh đó: + ¿ ,n ∈ N ¿  sao cho n ≤clog2 n, ∀ n ≥ n0 ∃ c ∈ R Chọn c = 1, ta có: n – log2 n ≤ 0 (vô lý) Gả sử sa => Mệnh đề ban đầu n ∉ O(log2 n) luôn đúng 0

Bài 7: Chứng minh:  

 

 

 

O(cf(n)) = O(f(n)) với C là hăng số O(c) = O(1) f(n)∈ (( ))à ( ) ∈ (h( )) thì ( ) ∈ (h( )) Nếu t1(n) ∈ O(f(n)) và t2(n) ∈ O(g(n)) thì  t1(n) + t2(n) ∈ O(max(f(n),g(n)) Giải:

+ O(cf(n)) = O(f(n)) O(f(n)) với C là hăng số Xét t(n) ∈ O(cf(n)) + => ∃c1 ∈ R   , ∃n0 ∈ N, ∀n ≥ n0 t(n) ≤ c1cf (n) =>  ∃c2 = c1c , ∃n0 ∈ N , ∀n ≥ n0 + => ∃c2 ∈ R  , ∃n0 ∈ N , ∀n ≥ n0 t(n) ≤ c2f (n) => t(n) ∈  O(f (n))

Xét h(n) ∈ Of(n)

 

=> ∃ a ∈ R +, ∃n0 ∈ N , ∀n ≥  n0 h(n) ≤ af (n) Đặt b =

a c

+ => ∃ b ∈ R  , ∃n0 ∈ N, ∀n ≥ n0 h(n) ≤ bcf (n) => h(n) ∈ O(cf (n)) Ta có: t(n) ∈ O(cf (n)) => O(cf(n)) = O(f(n)) ( đpcm ) t(n) ∈  O(f (n))

h(n) ∈ O(f (n))

h(n) ∈ Ocf(n) + O(c) = O(1) Xét h(n)∈ O(c) ∃c1, n0 ∀n ≥ n0, h(n) ≤

c1c

  => h(n) ≤ c 1 =>  h(n)∈ O(1)

=> ∃c2 = c1c, n0 ∀n ≥ n0 2

Xét k(n)∈ O(1) ∃c1, n0 ∀n ≥ n0 k(n)≤ c1 × 1 => ∃c2 = c1, ∀n ≥ n0 => k(n) ≤ c2 => k(n) ∈ O(c)

Ta có:

h(n) ∈ O(c) h(n) ∈ O(1) k(n) ∈ O(1) k(n) ∈ O(c)

=> O(c) = O(1) (đpcm)

+ f(n)∈ (( ))à ( ) ∈ (h( )) thì ( ) ∈ (h( )) Ta có : f(n)∈ (())

 

=> ∃1 ∈  +, 0 ∈ , ∀ ≥ 0 =>  () ≤ 1() (1) Ta có: g(n)∈ (h())

=> ∃2 ∈  +, 0 ∈ , ∀ ≥ 0 (2) => g(n) ≤ 2h() => c1g(n) ≤ 12h() Ta  có: f(n) ≤ 1() ≤ 12h() => f(n) ≤ 12h() Đặt c3=12 => ∃3 ∈  +, 0 ∈ , ∀ ≥ 0 =>  () ≤ 3h() => f(n)∈ (h()) (đpcm) Nếu t1(n) ∈ O(f(n)) và 2t(n) ∈ O(g(n)) thì t1(n) + t2(n) ∈ O(max(f(n),g(n)) Ta có: t1(n) ∈ O(f(n)) +

∃1∈  +, 1 ∈ 

sao cho

t1(n) ≤ c1f(n), t2(n) ∈ O(g(n)) ∃2∈  +, 2 ∈  Từ (1), (2) su ra:

n1

(1)

n2

(2)

sao cho

t2(n) ≤ c2g(n),

t1(n) + t2(n)

∀ n ≥

∀ n ≥

≤ c1f(n1) +c2f(n2), ∀ n ≥ n1, ∀ n ≥ n2  ≤ c1.max{f(n), g(n)} + c2.max{f(n), g(n)}

Chn d = c1+c2, n3 = max{n1,n2} ∀ n ≥ max{n1, n2} t1(n) + t2(n) ≤ (c1 + c2).max{f(n), g(n)}, t1(n) + t2(n) ≤ d.max{f(n), g(n)},   ∀ n ≥ n3

Bài 8:

 

 b/ O(f(n))=O(g(n))

g(n)∈  (( )), ( ) ∈  (( ))

Ta có: O(f(n))=O(g(n)) => ∃() ∈ (()) => ∃() ∈ ( ()) => ∃() ∈ (())

(1)

=> ∃() ∈ ( ())

 

Ta có: g(n)∈ ( ())

=> ∃1 ∈  +, 0 ∈ , ∀ ≥ 0 => () ≤ 1 ()  () ∈ (()) => ∃2 ∈  +, 0 ∈ , ∀ ≥ 0 => f(n)≤ 2() Ta có: g(n)≤ 1 () f(n)≤ 2() => 1 () ≤ 12() => () ≤ 12() ∃3 = 12 ∈  +, 0 ∈ , ∀ ≥ 0 => () ≤ 3() => () ∈ (()) Ta có: g(n) ≤ 1 () => 2() ≤ 12() => f(n) ≤ 2() ≤ 12 () => f(n) ≤ 12 () => ∃3 = 12 ∈  +, 0 ∈ , ∀ ≥ 0 => f(n)≤ 3 () => f(n)∈ ( ())   Ta có: ∃f(n)∈ ( ()) ∃f(n)∈ (())

(2)

∃g(n)∈  (()) ∃g(n)∈ ( ())

Từ (1)(2)

 

=> O(f(n))=O(g(n))

 g(n)∈  ( ())   () ∈  (( ))



,

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF