You are on page 1of 19

Gii thiu

Chia tr

Ni dung trnh by
tng chia tr
Lc tng qut chia tr
Cc minh ha

tng
Nhiu thut ton mang tnh quy trong cu
trc
gii quyt gi li chnh n cho bi ton con ca
n

Thut ton nh vy gi l chia tr


Chia bi ton ban u thnh bi ton tng t, c
ln b hn
Gii quyt cc bi ton thnh phn
Kt hp li c bi ton ban u

M hnh
C 3 bc thc hin cho mi bc quy
Chia - divide: bi ton thnh nhiu bi ton nh
Tr - conquer: cch gi quy, nu bi ton nh n
mc gii quyt c, gii quyt trc tip
Kt hp combin: hp cc kt qu ca bi ton con
thnh bi ton ban u

V d
Thut ton merger sort l in hnh ca chin
lc chia tr
Chia: chia thnh dy
Tr: sp xp cc dy con
Kt hp: trn hai dy sp xp thnh dy ban u
c sp xp

Thut ton ny vi di ca dy l 1 th mc
nhin c sp xp

V d

Phn tch
Thut ton quy c th c m t bng cng
thc quy
T(n) thi gian thc hin trn ln u vo n
Vi n<c th c th gii quyt c trc tip vi (1)
Gi s cng vic s chia thnh a cng vic con vi
ln ca cc phn chia l n/b (trong nhiu trng
hp a, b=2)
D(n) thi gian chia cc phn, C(n) thi gian ghp

O(1) if n < c

T ( n) =
aT (n / b) + D(n) + C (n) otherwise
7

Phn tch (t)


Vi thut ton Merge sort
N=1 thut ton O(1)
Chia: D(n)=O(1)
Tr: T(n)=2T(n/2)
Trn: C(n)=O(n)

O(1) if n = 1

T ( n) =
2T (n / 2) + O(1) + O(n) n>1

Phn tch (t)


Vi thut ton Merge sort
Vy T(n)=O(nlg(n))
Lg(n) c xem l lg2(n)

Phn tch (t)


(g(n))={f(n): Tn ti c1, c2, v n0
0c1g(n)f(n)c2g(n) vi mi nn0}
O(g(n))={f(n): Tn ti c v n0 0f(n)cg(n) vi
mi nn0

10

Phn tch (t)


nh l (master)
T(n)=aT(n/b)+f(n),
f (n) = O(nlogb a ); > 0 then T (n) = (nlogb a )

f ( n) = ( n

logb a

); then T (n) = (n

logb a

lg n)

f (n) = (n logb a + ); > 0;if af (n / b) cf (n); c < 1 T (n) = ( f (n))

11

Bi ton 2n
Tnh gi tr 2n
Gii php 1:
S dng vng lp: for 1->n t=t*2
phc tp O(n)

Gii php 2
F(n)=2; n=1
F(n)=F(n/2)2; n chn
F(n)=F(n/2)22; n l
nh gi
T(n)=1; n=1
T(n)=T(n/2)+1
12

Bi ton tnh a thc


P(x)=a0+ a1x + + anxn
P(x)=a0+x(a1+x(a2++x(an-1+xan)))

Tip cn t trn xung


Pn(x)=Pn-1(x)+1 N>0
Pn(x)=a0; N=0

Thut ton
1 y0
2 i n
3 whilei 0
4 do yai +x y
5 i i 1
13

Bi ton tm min
Cho mt dy tm gi tr b nht ca dy
Duyt danh sch
Chia tr
Chia: 1 (n-1) phn t
Tnh: 1 phn t l chnh n
Hp: So snh cc cp:

T(n)=1 ; n=1
T(n)=1+T(n-1) ; n>1

14

Bi ton tm min (t)


Cho mt dy tm gi tr b nht ca dy
Duyt danh sch
Chia tr
Chia: n/2 n/2 phn t
Tnh: 1 phn t l chnh n
Hp: So snh cc cp:

T(n)=1 ; n=1
T(n)=1+2T(n/2) ; n>1

15

Mt s bi ton khc
Bi ton thp h ni
S fibonaci
c s chung ln nht

16

Tho lun
Chia tr c th gim c phc tp thut
ton?
V d minh ha cho tng

17

Bi tp trn lp
Trin khai thut ton tm min bng phng
php chia tr
Vit chng trnh tnh gi tr ca a thc
Vit chng trnh tnh hm m

18

Bi tp
-

Trin khai cc thut ton trn thnh chng trnh


Tm hiu vn chia tr trong thut ton sp xp, tm kim

19

You might also like