Professional Documents
Culture Documents
V GII THUT
Ging vin : H S m
B mn Mng v truyn thng my tnh
Trng H Cng Ngh - H Quc Gia H Ni
Email damhs@vnu.edu.vn
Mob. 0913580373
Gii thiu mn hc
Cung
cp :
- Cc kin thc c bn v cu trc d liu
v thut ton;
- K nng xy dng, la chn cc cu trc
d liu v cc thut ton hp l.
Gii thiu mn hc
1.
2.
3.
4.
Bc 1. Xc nh bi ton
-Tp Input v Output
Bc 2. La chn/ thit k thut ton
a) La chn/ thit k thut ton
Gii bi ton nhiu thut ton
Khng gian ? Thi gian ?; Ci t ?
*) Cch lit k
Bc 1: Nhp a v b;
Bc 2: q 0;
Bc 3: Nu a < b th r a
ri chuyn n b. 5;
Bc 4: a a - b, q q + 1
ri quay v b.3;
Bc 5: a ra r v q. Kt
thc.
*) S khi
Chn
CTDL
Ngn ng lp trnh
Bc 4. Hiu chnh
Xy dng cc b
input (test) tiu biu
Chy th
Unsigned
Unsignedint
intFactorial
Factorial(unsigned
(unsignedint
intn)n)
{{
ifif(n==0)
(n==0)
return
return1;1;
Else
Else
return
returnn*n*Factorial
Factorial(n-1);
(n-1);
}}
Bc 5. Vit ti liu
Hng
dn s dng
Thut ton, Cu trc d liu
.
cc n v cu trc (construct) ca
NNLT dng biu din cc m hnh
d liu
V d: mng, bn ghi, set, file, xu,..
V d
- Input:N nguyn dng, dy a 1,..., an.
- Output : Tm Max ca dy cho.
tng
Gi thit Max = a1. Vi mi i, nu ai >
Max th thay gi tr Max= ai.
b) S
khi
Dng: Ovan, Ch
nht, Hn thoi,Mi
tn,
c)
Ngn ng iu khin
Dng cc k hiu v quy tc
Cch thit lp th t cc thao tc
cu trc iu khin ( 03 )
iu chnh li gi tr
ca m v n
Nu ngc li th
Bt n i mt lng l m
g) Tnh hiu qu
Thi gian: Tc x l
Khng gian: Dung lng lu tr
b) K php
Hm Theta ln:
T(n) l hm Theta ln ca g(n): T(n) =(g(n))
nu cc hng s dng c1 ,c2 ,n0 sao cho vi
mi n>= n0 :
c1 g(n) <= T(n) <= c2 g(n)
Hm Omega ln:
T(n) hm Omega ln ca g(n): T(n)=(g(n))
nu c v n0 sao cho vi mi n>= n0
T(n) >= c.g(n)
Hm O ln:
T(n) hm Omega ln ca g(n), T(n) =O (g(n))
nu c v n0 sao cho vi mi n>= n0 :
g(n)
Cc tnh cht
(i) Tnh bc cu: nu f(n)= O(g(n)) v
g(n)= O(h(n)) th f(n)= O(h(n))
(ii) Tnh phn x: f(n)=O(f(n))
c)
d) Xc nh phc tp
Quy tc hng s
Nu P c T(n)= O(c1f(n))
tp O(f(n)).
P c phc
Quy
tc ly Max
Nu P c T(n)= O( f(n)+g(n)) th P c
phc tp l O( max ( f(n), g(n))).
Quy
tc cng
Nu P1 c T1 (n) = O( f(n) v P2 c T2(n)=
O(g(n)), khi : T1(n) +T2(n) = O(f(n) +g(n)).
Quy
tc nhn
Nu P c T(n)= O(f(n)). Khi nu thc
hin k(n) ln P vi k(n)=O(g(n)) th phc
tp la O(f(n) g(n)).
CM: Thi gian thc hin k(n) ln on chng trnh P s l k(n) T(n),
theo nh ngha:
ck>=0 v nk >0 k(n) <= ck(g(n)) vi mi n>= nk
cT>=0 v nT >0 T(n) <= cTf(n) vi mi n>= nT
V d 1
V d 3
Mt s dng hm
a thc bc k: P(n), O (nk).
logaf(n), O(log f(n)).
Hng
s, O(1)
Hm m O(2n.)
Lgn
nlgn
n2
n3
2n
16
64
16
24
64
512
256
16
64
256
4096
65536
32
160
1024
32768
214748364
8
vo
CHNG II :
QUY V THUT TON QUY
2. Thut ton quy
a) nh ngha
Nu
HNG II :
QUY V THUT TON QUY
2. Thut ton quy
nh
CHNG II :
QUY V THUT TON QUY
2. Thut ton quy
b) V d
Tnh giai tha: N!= N(N-1)!
Int fact ( int n) {
If ( n <= 1 )
Return 1; /* c s*/
Else
Return n*fact (n-1); /* quy np*/
}
CHNG II :
QUY V THUT TON QUY
2. Thut ton quy
b) V d:
Dy s Fibonacci:
F(n)= F(n-1)+F(n-2)
(phn quy)
vi n<=2 th F(n)=1
( phn neo).
2. Thut
Bai
ton quy
2. Thut
Khi
ton quy
Thp Ha n i
2. Thut
ton quy
2. Thut
Nu
ton quy
2. Thut
ton quy
c) nh gi v quy
u im:
Mnh, r rng, cht ch
Thit k TT n gin
2. Thut
ton quy
Nhc im:
Li gi hm tn rt nhiu thi gian.
Thn trng ng chy v hn.
1. Cc
Kiu
d: int a[10][15] :
float b[20][10]:
s mng khng c vt qu
phm vi V d: a[5] * b[8][3] l hp l.
Cu trc n gin, truy nhp nhanh.
Thiu mm do trong cc php ton
nh xa, chn.
C th dng php gn cho c mng.
Tp
Khai
bo kiu cu trc:
STRUCT tn_kiu_cu trc {
Khai bo cc thnh phn
};
nhp:
Xc nh: vit tn cu trc, du chm (.)
v sau cng l tn thnh phn.
Thnh phn ca mt cu trc c th l
mt cu trc.
1. Khi
a) nh ngha
Danh
sch l mt tp sp th t cc phn t
cng kiu.
Cc phn t c sp theo th t trc- sau
Danh sch con gm cc phn t lin tip t a i
n aj ca danh sch.
Nu i=1 gi l phn u (prefix)
Nu j=n gi l phn cui (postfix).
DS = ( A, B, C, D, E, F, G, H, I, J, K)
Mng
A
M gm 11 phn t:
C
a)
P
A
- t
V vo v tr
-Tng
n ln 1
ban u
B
- Chuyn
-Gim
n i 1.
Nu
khng cn bo lu th t cc phn t
sau khi xa th ch cn tro i gi tr phn t
cn xa cho phn t cui cng v gim n i
1.
c) Nhn xt
Truy
2.2. DS ni n
DS
C)
Xc nh
Tm kim bt u t
Head, Theo con tr ca
trng NEXT
duyt tun t.
2.3. DS ni kp
DS
Ch
cn xc nh c mt phn t no
Chn/xa bng cch chnh li cc lin kt
ca cc nt lin quan.
xp (Stack)
Mt kiu DS
B sung thm v ly ra mt phn t cng
cui DS.
Hot ng theo nguyn tc vo sau-ra
trc (LIFO)
ta Stack bng DS ni n
Stack ch trn khi vng khng gian nh
dng cho cc bin ng khng cn
Khng gian b nh dng cho cc bin
ng l rt ln nn b qua vic kim tra
trn Stack.
vng trn
Cc phn t xp quanh vng trn theo
mt hng.
Cc phn t nm trn cung trn t v tr
Front n Rear l thuc Queue.
Vn
V2
V1
cai t :
(i) Mt phng tin chia b nh thnh cc
nt, mi nt c phn lu tr data, phn lu tr
cc lin kt (con tr) v cch ci t cho con
tr
(ii) Ci t cc thao tc truy nhp gi tr (c
data v pointer).
(iii) Mt phng tin no nh du
vng b nh
3. Mt s nhn xt
Ci
ch:
di ca danh sch.
Kim tra trn v rng khi thc hin
chn v xa.
Khi thc hin chn v Xa u phi
thc hin php dch chuyn.
3. Mt s nhn xt
Trong
khc phc, cn
Mt th tc tin nh cp pht b nh
( New (p) trong TP, trong C c cc hm
Void * calloc, * void maloc ) v mt th tc
gii phng b nh ( Dispose(p) trong
Tp v hm Void Free trong C)
Dng bin con tr truy cp n vng
nh ny.
Bng bm m
1.1. Bng bm
1.2. Hm bm
1.3. Xung t
1.4. Mt s hm bm thng dng
2.
Bng bm ng
2.1. Bm li tuyn tnh.
2.2. Bm li bnh phng
2.3. Bm li bng cch to vng mi
CHNG VI:
CU TRC D LiU BNG BM
1. Bng bm m
Bang
bm (Hash Table):
- Mng B gm m phn t
-Lu tr ch s nh v phn t d liu c kha
phn bit thuc tp s nguyn { 0,1,2m-1}
1. Bng bm m
Ham bm
(Hash function):
1. Bng bm m
Xung
t (collision):
1. Bng bm m
Xung t:
1. Bng bm m
Xung t:
Gii quyt:
CHNG VI:
CU TRC D LiU BNG BM
1. Bng bm m
1. Bng bm m
Ham
CHNG VI:
CU TRC D LiU BNG BM
2. Bng bm ng
Bng
bm m: ch dng lu tr cc lin
kt tr n cc thnh phn d liu c kha
tng ng.
Bng bm ng: bng bm m mi thnh
phn ca n lu tr chnh cc thnh phn
d liu.
CHNG VI:
CU TRC D LiU BNG BM
2. Bng bm ng
Cc phng php x l:
a) Bm li tuyn tnh
Hi (x) = (H(x)+i) mod m
CHNG VI:
CU TRC D LiU BNG BM
2. Bng bm ng
2. Bng bm ng
b) Bm li bnh phng
Hi(x) = ( H(x)+i2) mod m
2. Bng bm ng