You are on page 1of 65

HC VIN CNG NGH BU CHNH VIN THNG

BI GING MN
TON RI RC 2
Ging vin: TH.S. Phan Th H
in thoi/E-mail: hathiphan@yahoo.com
B mn: Cng ngh phn mm
Hc k/Nm bin son:I/2009-2010
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CHNG 8.CY V CY KHUNG CA TH
M u
Cc ng dng ca cy
Cc phng php duyt cy
Cy khung ca th
Cy khung nh nht

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


M U
nh ngha 1. Cy l mt th v hng, lin thng v
khng c chu trnh n.
V cy khng th c chu trnh n, nn cy khng th c
cnh bi v khuyn. Vy mi cy u l th n.
nh ngha 2. Mt th khng c chu trnh n nhng
khng lin thng c gi l rng.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


Cy thng c nh ngha nh mt th v hng,
trong gia mi cp nh ca n lun tn ti mt
ng i n duy nht. nh l sau cho thy trong th
v hng th tnh lin thng v khng c chu trnh
n tng ng vi tnh tn ti ng i n duy
nht gia mi cp nh
M U
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


nh l 1. Mt th v hng l mt cy nu gia mi cp
nh ca n lun tn ti ng i n duy nht.
nh ngha 3. Cy c gc c gi l m-phn nu tt c cc
nh trong ca n khng c hn m con. Cy c gi l m-
phn ng (strict) nu mi nh trong ca n c ng m con.
Cy m-phn vi m = 2 c gi l cy nh phn.
Cy c gc c sp (hay c th t) l cy c gc trong
cc con ca mi nh c sp xp theo mt th t nht nh.
Cy c gc c sp c v sao cho cc con ca mi nh
trong c sp th t t tri qua phi. Trong cy nh phn
c th t, cc nh trong c hai con, con th nht gi l con
bn tri v con th hai l con bn phi. Cy c gc l con
bn tri ca mt nh c gi l cy con bn tri, tng t ta
c nh ngha v cy con bn phi.
M U
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


M U
Nhng tnh cht ca cy
nh l 2. Cy vi n nh c ng n-1 cnh.
nh l 3. Cy m-phn ng vi i nh trong s c tt
c n = m*i + 1 nh.
nh l 3. Cy m-phn ng vi
a) Nu cy c n nh th s nh trong l i =
(n-1)/m v s l l l = ((m-1)n+1 )/m
b) Nu cy c i nh trong th khi s nh
l n = m.i + 1 v s l l l=(m-1)i+1.
c) Nu cy c l l th s nh l :

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


M U
nh ngha. Mc ca nh v trong cy c gc l di
ca ng i duy nht t gc ti n. Mc ca gc c
nh ngha bng khng.
cao ca cy l mc cao nht ca tt c cc nh. Ni
cch khc cao ca cy c gc l chiu di ca ng
i di nht t gc ti mt nh bt k.
Cy m-phn c gc v cao h c gi l cn i
nu tt c cc l u mc h hoc h-1.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


Cy AVL l cy nh phn sao cho ti mi nh
chiu cao ca cy con tri v cy con phi khc
nhau khng qu 1. Cy cn i nhng khng
phi AVL
Vy cy AVL l trng hp c bit ca cy
nh phn cn i: cy AVL l cy nh phn cn
i, nhng ngc li ni chung khng ng.
Cy m-phn hon ton(complete) l cy m-
phn ng trong mi l cng mt mc.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


M U
nh l 5. C nhiu nht m
h
l trong cy m-
phn, cao h.
H qu 1. Nu cy m-phn c chiu cao h v c l l,
khi h> log
m
l(. Nu cy m-phn ng v cn i, khi
h =
log
m
l(. (Nh li l x( l s nguyn nh nht khng b
hn x).
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY

Chng ta s nghin cu ba bi ton bng m hnh cy.
Cc phn t trong mt danh sch c lu tr nh th
no c th d dng nh v c chng?
Hy xc nh dy cc quyt nh tm mt i tng
c tnh cht no trong tp hp cc i tng thuc
mt loi no .
Cn phi m ha tp cc ch ci bng cc dy nh phn
nh th no c hiu qu nht?
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY
gii quyt: tm hiu 3 loi cy sau
Cy tm kim nh phn
Cy quyt nh
Cc m tin t
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY
Cy tm kim nh phn
Tm kim mt phn t trong mt danh sch l mt trong
nhng cng vic quan trng nht trong tin hc. Mc ch
hng u ca chng ta l a ra mt thut ton tm kim
c hiu qu nht l tm mt phn t khi cc phn t
c sp xp theo mt th t no . iu c th
thc hin c bng cy tm kim nh phn. l cy
nh phn trong mi nh ch c nhiu nht l 2 con:
mt con tri v mt con phi. Mi nh c gn mt
kha. Cc nh c gn kha sao cho kha ca nh
ln hn kha ca tt c cc nh thuc cy con bn tri,
v nh hn kha ca tt c cc nh thuc cy con bn
phi ca n.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY
Mt cy nh phn tm kim ch c cc nh con bn tri
s to thnh mt cy lch tri hay sp xp theo th t
gim dn ca kha.
Mt cy nh phn tm kim ch c cc nh con bn phi
s to nn mt cy lch phi hay sp xp theo th t
tng dn ca kha.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY
Nu gi tr kha ca nh x trng vi gi tr kha ti nh
gc th khng th thm node.
Nu gi tr kha ca nh x nh hn gi tr kha ti nh
gc v cha c l con bn tri th thc hin thm node
vo nhnh bn tri.
Nu gi tr kha ca nh x ln hn gi tr kha ti nh
gc v cha c l con bn phi th thc hin thm node
vo nhnh bn phi.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


Thao tc tm kim nh trn cy nh phn tm kim:
Gi s ta cn tm kim kha c gi tr x trn cy nh
phn tm kim, trc ht ta bt u t gc:

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY
Nu cy rng: php tm kim khng tho mn;
Nu x trng vi kho gc: php tm kim tho mn;
Nu x nh hn kho gc th tm sang cy bn tri;
Nu x ln hn kho gc th tm sang cy bn phi;


BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY
Thao tc loi b nh (Remove): Vic loi b nh trn
cy nh phn tm kim kh phc tp. V sau khi loi b ta
phi iu chnh li cy n vn l cy nh phn tm
kim. Khi loi b nh trn cy nh phn tm kim th nh
cn loi b c th mt trong 3 trng hp sau:

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


Nu nh p cn loi l nh treo th vic loi b c
thc hin ngay.
Nu node p cn xo c mt cy con th ta phi ly
node con ca node p thay th cho p.
Nu nh p cn xo c cy con th ta xt: Nu nh
cn xo pha cy con bn tri th nh bn tri nht
s c chn lm nh th mng, nu nh cn xo
pha cy con bn phi th nh bn phi nht s c
chn lm node th mng.

CC NG DNG CA CY
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CC NG DNG CA CY
Cy quyt nh

Cc cy c gc c th dng m hnh cc bi ton
trong c mt dy cc quyt nh dn n li gii.
Chng hn, cy tm kim nh phn c th dng nh v
cc phn t da trn mt lot cc so snh, trong mi
so snh cho ta bit ta c nh v c phn t hay
cha, hoc ta s i theo cy con tri hoc cy con phi.
Cy c gc trong mi nh trong ng vi mt quyt
nh v mi cy con ti cc nh ny ng vi mi mt kt
cc c th ca quyt nh c gi l cy quyt nh.
Nhng li gii c th ca bi ton tng ng vi cc
ng i ti cc l ca cy c gc ny. V d sau s
minh ha mt ng dng ca cy quyt nh.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


V d 1. C 4 ng xu trong c 1 ng xu gi nh
hn ng xu tht. Xc nh s ln cn (thng bng)
cn thit xc nh ng xu gi.
Gii. R rng ta ch cn hai ln cn xc nh ng
xu gi v khi ta t bn ng xu ln bn cn th ch c
th xy ra hai kt cc: ng s 1,2 nh hn hoc nng
hn ng s 3, 4. Thc hin quyt nh cn li ging
nh trn cho hai ng xu nh hn ta xc nh c
ng xu no l gi. Hnh 7.3 di y s m t cy
quyt nh gii quyt bi ton.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM



1 2 3 4
1 2 3 4
1 2 3 4
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


PHNG PHP DUYT CY
H a ch thng dng
1. Gn nhn cho gc bng s 0. Sau k nh con ca
n ( mc 1) t tri sang phi c gn nhn l 1, 2,
3, ..., k.
2. Vi mi nh v mc n c nhn l A, th r nh
con ca n tnh t tri qua phi c gn nhn l A.1,
A.2,..., A.r.
Theo th tc ny, nh v mc n vi n>1, c nhn l
x1.x2.....xn, trong ng i duy nht t gc ti v s
i qua nh th x1 mc 1, nh th x2 mc 2,
...
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


PHNG PHP DUYT CY
Cc phng php duyt cy
Duyt tin th t,
Trung th t
Hu th t.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


PHNG PHP DUYT CY
nh ngha 1. Gi s ta c cy T vi gc r. Nu T
ch c gc th r l cch duyt tin th t ca T. Nu
khng th gi T1, T2, ..., Tn l cc cy con ti r t tri
qua phi. Duyt tin th t T s ving thm r u tin.
Sau duyt T1 theo kiu tin th t, duyt T2 theo
kiu tin th t, ... c nh vy cho n khi Tn c
duyt theo kiu tin th t
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


PHNG PHP DUYT CY
Duyt theo kiu tin th t cy T l
a,b,e,j,h,n,o,p,f,c,d,g,l,m,h,i.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


nh ngha 2. Gi s ta c cy T vi gc r. Nu T
ch c gc th r l cch duyt trung th t ca T. Nu
khng th gi T1, T2, ..., Tn l cc cy con ti r t
tri qua phi. Duyt trung th t T s ving thm T1
u tin, sau thm r, ri duyt T2 theo kiu trung
th t, ... c nh vy cho n khi Tn c duyt theo
kiu trung th t.
VD:j,e,n,k,o,p,b,f,a,c,l,g,m,d,h,i.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


nh ngha 3. Gi s ta c cy T vi gc r. Nu T
ch c gc th r l cch duyt hu th t ca T. Nu
khng th gi T1, T2, ..., Tn l cc cy con ti r t
tri qua phi. Duyt hu th t T s bt u duyt T1
theo kiu hu th t, ri duyt T2 theo kiu hu th
t, ... c nh vy cho n khi Tn c duyt theo
kiu hu th t, v cui cng kt thc bng vic ving
thm r.
j,n,o,p,k,e,f,b,c,l,m,g,h,i,d,a.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


Cc k php trung t, tin t v hu t







Cch duyt cy nh phn biu din biu thc
cho theo kiu trung th t s to ra biu
thc c cc s hng v cc php ton theo
ng th t nh l c trong biu thc ban
u.
+
^
+ 2
x y
/
- 3
x 4
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


Biu thc c y du ngoc nh vy c
gi l dng trung t.
x y + 2 ^ x 4 - 3 / +.
c dng tin t ca biu thc khi ta duyt cy theo
kiu tin th t. Cc biu thc c vit di dng
tin t c gi l k php Ba lan
+ ^ + x y 2 / - x 4 3
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


PHNG PHP DUYT CY
dng hu t ca mt biu thc bng cch duyt cy nh
phn theo kiu hu th t. Biu thc vit di dng hu
t c gi l k php Ba lan ngc.
x y + 2 ^ x 4 - 3 / +.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM
Khi nim
Nhng thut ton xy dng cy bao trm

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM
nh ngha 11.2
Gi s G l mt th v hng.
Cy T c gi l cy bao trm ca th G nu T l
mt th ring ca G.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


V D
th G:



Mt s cy bao trm ca G:
a
d
b
e
c
Hnh 11.2. th c cy bao trm
a
d
b
e
c
a
d
b
e
c
Hnh 11.3. Hai cy bao trm ca th G
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM (tip)
nh l 11.2: th v hng G c cy bao trm G
lin thng.
Chng minh:
: Hin nhin, v cy bao trm lin thng suy ra G
lin thng.
:: Chn a l mt nh bt k trong th G.
K hiu: d(x) l khong cch gia a v nh x.
Xy dng cc tp nh:
D
0
= {a}, D
i
= { x | d(x) = i } vi i > 1.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM (tip)
a
D
0
D
1
D
2
. . .
Hnh 11.4. Cch xy dng cy bao trm
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM (tip)
Ch : Mi nh x thuc D
i
(i > 1) u c nh y thuc D
i-1

sao cho (x, y) l mt cnh, v nu < a, ... , y, x > l
ng i ngn nht ni a vi x th < a, ... , y > l
ng i ngn nht ni a vi y v y e D
i-1
.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM (tip)
Chng minh: Lp tp cnh T nh sau:
Vi mi nh x ca th G, x e D
i
vi i > 1, ta ly
cnh no ni x vi mt nh trong D
i-1
.
Tp cnh ny s to nn mt th ring ca G vi n
nh v n - 1 cnh.
th ring ny lin thng v mi nh u c ni
vi nh a. Theo tnh cht 3) ca cy th T l mt cy.
Do vy, T l cy bao trm ca th G.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM (tip)
nh l 11.3 (Borchardt): S cy bao trm ca mt
th v hng y n nh l n
n 2
.

Mt s thut ton tm cy bao trm:
- Thut ton s dng phng php duyt theo chiu su.
- Thut ton s dng phng php duyt theo chiu rng.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON TM CY BAO TRM
Thut ton 11.1 (Tm cy bao trm bng phng php
duyt theo chiu su)
D liu: Biu din mng DK cc danh sch k ca th
v hng G.
Kt qu: Cy bao trm (V, T) ca th G.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON TM CY BAO TRM (tip)
Thut ton

1 procedure CBT_S (v) ;
2 begin
3 Duyet [v] := true ;
4 for u e DK[v] do
5 if ! Duyet [u] then
6 begin T := T {(v, u)} ; CBT_S (u) end
7 end ;
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON TM CY BAO TRM (tip)

8 BEGIN { Chng trnh chnh }
9 for u e V do Duyet [u] := false ;
10 T := C ;
11 CBT_S (z) ; { z l nh tu ca th,
s tr thnh gc ca cy }
12 END.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON TM CY BAO TRM (tip)
Tnh ng n ca thut ton: :
1. Khi ta thm cnh (v, u) vo tp cnh T th trong th
(V, T) c ng i t z ti v. Vy thut ton xy dng
ln th lin thng.
2. Mi cnh mi (v, u) c thm vo tp T c nh v
c duyt v nh u ang duyt. Vy th ang c
xy dng khng c chu trnh.
3. Theo tnh cht ca php duyt theo chiu su, th tc
CBT_S thm tt c cc nh ca th lin thng G.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON TM CY BAO TRM (tip)

Do vy, th do thut ton xy dng l mt cy bao
trm ca th cho.

phc tp ca tht ton l: O(n+m).

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


V D
p dng thut ton trn cho th (nt mnh) ta nhn
c cy bao trm (nt m) nh sau:
8
1
2
3
4
5
6
7
9
Hnh 11.5. Cy bao trm ca th tm theo
phng php duyt theo chiu su
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON TM CY BAO TRM (tip)
Thut ton 11.2 (Tm cy bao trm bng phng php duyt theo chiu
rng)
D liu: Biu din mng DK cc danh sch k ca
th v hng G.
Kt qu: Cy bao trm (V, T) ca th G.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


11.3. THUT TON TM CY BAO TRM (tip)
Thut ton
1 BEGIN
2 for u e V do Duyet [u] := false ;
3 T := C ;
4 Q := C ;
5 enqueue z into Q ; { z l nh tu ca
th v l gc ca cy }
6 Duyet [z] := true ;
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


11.3.THUT TON TM CY BAO TRM (tip)
7 while Q = C do
8 begin deqeue v from Q ;
9 for u e DK[v] do
10 if ! Duyet [u] then
11 begin enqueue u into Q ;
12 Duyet [u] := true ;
13 T := T {(v, u)} end
14 end
15 END.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON TM CY BAO TRM (tip)
phc tp ca thut ton: O(m+n).
V d: p dng thut ton trn cho th (nt mnh) ta
nhn c cy bao trm (nt m) nh sau:
1
2
3
4
5
6
7
9
Hnh 11.6. Cy bao trm ca th tm theo
phng php duyt theo chiu rng
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CHNG 9.CY BAO TRM NH NHT
Mt s ng dng
Thut ton tm cy bao trm nh nht
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


MT S NG DNGCA CY BAO TRM
1. Kim tra tnh lin thng ca mt th: th l lin
thng n c cy bao trm.
2. Xy dng h c s ca cc chu trnh.
Gi s th lin thng G = (V, E) vi n nh v
m cnh.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


MT S NG DNG CA CY BAO TRM (tip)
Thc hin hai bc:
1. Xy dng cy bao trm T ca G. Gi s trong qu
trnh xy dng cy bao trm T ta b i cc cnh e
1
,
e
2
, ... , e
m n + 1
2. Xy dng h chu trnh c s: Ln lt thm vo cy
T cc cnh e
i
, khi s xut hin chu trnh
i
- y cng
l chu trnh ca th G. Sau li xo cnh e
i
v thm
cnh e
i+1
vo. Cui cng ta nhn c cc chu trnh
tng ng l
1
,
2
, ...,
m n + 1
.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


H chu trnh ny c lp v:
i = j th o
i
cha e
i
nhng khng cha e
j
, cn o
j

cha e
j
nhng khng cha e
i
.
S cc chu trnh ny l m - n +1 = m - n + p = c(G) = s
cc chu trnh c lp cc i.
Vy h chu trnh tm c l mt c s ca cc chu
trnh trong th G.
MT S NG DNG CA CY BAO TRM (tip)
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


V D
Xt th v hng:








n = 5, m = 8, p = 1. Vy c(G) = 4.


a
b c
d e
G =
1 2
3
4
Hnh 11.7. th v cc cnh b i
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


V D
Mt cy bao trm T ca G l:





Ta nhn c mt h chu trnh c s:

1
= [a, b, d]
3
= [a, b, c, d]

2
= [a, b, e, d]
4
= [a, b, c, e, d]



a
b c
d e
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM NH NHT
Bi ton: Cho th v hng G lin thng vi tp cnh
E v hm trng s c : E N. Tm cy bao trm T ca G
sao cho tng trng s ca cc cnh ca T t gi tr nh
nht.

Mt s thut ton tm cy bao trm nh nht:
- Thut ton Kruskal
- Thut ton Prim
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON KRUSKAL
Thut ton:
1. Chn cnh c trng s b nht, k hiu l e
1
v t W
:= {e
1
}.
2. Gi s chn c W = {e
1
, e
2
, ... , e
i
}. Chn e
i+1
l
cnh c trng s b nht trong s cc cnh cn li
trong E \ W sao cho {e
1
, e
2
, ... , e
i
, e
i+1
} khng cha
chu trnh.
3. B sung: W := W {e
i+1
}.
4. Lp li cc bc 2. 3. chng no cn c th.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON KRUSKAL (tip)
nh l 11.4 : Tp cc cnh W tm c theo thut ton
Kruskal to nn cy bao trm nh nht ca th G.

Thut ton Kruskal chi tit
1 procedure Kruskal ;
2 begin
3 W := C ; Z := E ;


BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON KRUSKAL (tip)
4 while (|W| < n -1) and (Z = C) do
5 begin
6 chn cnh e c trng s b nht trong Z ;
7 Z := Z \ {e} ;
8 if W {e} khng cha chu trnh then
W := W {e}
9 end ;
10 if |W| < n -1 then writeln( th khng lin
thng)
11 end ;
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


V D
th c trng s v cy bao trm nh nht:
1
1
1
2
2
4
6
5 6
5
1
1
1
2
5
Hnh 11.10. th trng s v mt cy bao trm nh nht
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON PRIM
Thut ton Prim
Prim ci tin thut ton Kruskal nh sau: mi
vng lp ta chn cnh c trng s b nht trong s
cc cnh k vi cc cnh chn m khng to nn
chu trnh.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON PRIM (tip)
Thut ton Prim c gi l phng php ln cn gn
nht: bt u t mt nh no a ca th G ta ni
n vi nh gn nht, chng hn b. Ngha l, cnh (a,
b) c chn c trng s b nht. Tip theo, trong s
cc cnh k vi nh a hoc nh b ta chn cnh c
trng s b nht m khng to nn chu trnh vi cnh
(a, b). Cnh ny dn n nh th ba c ...

Tip tc qu trnh ny cho n khi nhn c cy gm
n nh v n-1 cnh. chnh l cy bao trm nh nht.
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


THUT TON PRIM (tip)
1 procedure Prim ;
2 begin
3 W := {cnh c trng s b nht };
4 for i := 1 to n - 2 do
5 begin
6 e := cnh c trng s b nht k vi cnh
trong W v nu ghp n vo W th khng
to nn chu trnh ;
7 W := W {e}
8 end
9 end ;
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM NH NHT (tip)
nh l 11.5
Trong th v hng c trng s i mt khc
nhau, cy bao trm nh nht tn ti v duy nht.
Chng minh:
V trong vng lp ch c duy nht mt cnh c
chn.

BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM LN NHT
Trong cc thut ton Kruskal v Prim ta khng rng
buc v du ca trng s, nn c th p dng cho th
v hng vi trng s trn cc cnh c cng du tu .
BI GING MN
TON RI RC 2
www.ptit.edu.vn
GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM


CY BAO TRM LN NHT (tip)
tm cy bao trm ln nht ta c hai cch:
1. i thnh du - cho cc trng s trn cc cnh. p
dng mt trong hai thut ton trnh by trn
tm cy bao trm nh nht. Sau i du + tr li, ta
s c cy bao trm ln nht.
2. Sa i trong cc thut ton: bc chn cnh c
trng s b nht ... c thay bng chn cnh c
trng s ln nht ... cn cc bc khc th gi
nguyn. Khi thut ton kt thc, ta s nhn c cy
bao trm ln nht.

You might also like