Professional Documents
Culture Documents
LTDT PDF
LTDT PDF
LTDT PDF
2
Ni dung chng trnh
1. TH
2. CY
3. LOGIC MNH
3
Kim tra nh gi
Kim tra gia k
Tiu lun/bi tp ln theo nhm
Thi kt thc mn
4
Gio trnh v TLTK
Gio trnh
Kenneth H.Rosen, Ton ri rc - ng dng trong tin
hc, NXB Khoa hc k thut. H ni-1997. (Phm Vn
Thiu v ng Hu Thnh dch).
Ti liu tham kho
Slides bi ging ca ging vin.
5
Rules
6
L thuyt th
I. nh ngha th
II. Cc loi th
V. th lin thng
Konigsber
(1736)
+ V: L tp cc nh
+ E: L tp cc cnh
V={1, 2, 3, 4}
E={a, b, c, d, e}
I. nh ngha th
II. Cc loi th
V. th lin thng
th v hng
n th a th Gi th
th c hng
n th a th
V={1, 2, 3, 4, 5}
E={(1, 2), (1, 3), (1, 5), (2, 5), (3, 4), (3, 5), (4, 5)}
Chng 1 Cc khi nim c bn 9 L thuyt th
II. Cc loi th
a th v hung
th G=(V, E) c gi l a th v hng:
V: L tp cc nh
E: L h cc cp khng c th t gm hai phn t khc nhau
ca V.
Hai cnh e1, e2 gi l cnh lp nu chng cng tng ng vi
mt cp nh
V={1, 2, 3, 4, 5}
E={(1, 2), (1, 3), (1, 5), (2, 5), (3, 4), (3, 5), (4, 5), (1, 2), (2, 1), (5, 2), (3, 5) }
Chng 1 Cc khi nim c bn 10 L thuyt th
II. Cc loi th
Gi th v hung
th G=(V, E) c gi l gi th v hng:
V: L tp cc nh
E: L h cc cp khng c th t gm hai phn t khng nht
thit khc nhau ca V.
Cnh e c gi l khuyn nu n c dng: e=(u, u)
V={1, 2, 3, 4, 5}
E={(1, 2), (1, 3), (1, 5), (2, 5), (3, 4), (3, 5), (4, 5), (1, 2), (2, 1), (5, 2), (3, 5), (2, 2), (3, 3) }
V={1, 2, 3, 4, 5}
E={(2, 1), (1, 3), (5, 1), (4, 2), (3, 4), (3, 5), (5, 4)}
Chng 1 Cc khi nim c bn 12 L thuyt th
II. Cc loi th
a th c hng
th G=(V, E) c gi l n th c hng:
V: L tp cc nh
E: L h cc cp c th t gm hai phn t khc nhau ca V.
(tp cc cung)
Hai cung e1, e2 c gi l cung lp nu chng cng tng
ng vi mt cp nh.
V={1, 2, 3, 4, 5}
E={(2, 1), (1, 3), (6, 2), (3, 4), (6, 3), (4, 6), (5, 4), (5, 6), (3,1), (6,2)}
Chng 1 Cc khi nim c bn 13 L thuyt th
II. Cc loi th
th
Khng c th t
th v hng
Khng cnh lp, khng khuyn
n th
C cnh lp, khng khuyn
a th
C cnh lp, C khuyn
Gi th
C th t
th c hng
I. nh ngha th
II. Cc loi th
V. th lin thng
v
e
deg(1)= 2, deg(2)= 2,
deg(3)= 3, deg(4)= 3,
deg(5)= 3, deg(6)= 1,
deg(7)= 0.
m=7
deg( v) = 2m = 14
vV
Cc nh bc l: 3, 5, 4, 6 4 nh
+ Tng 2m chn
+ Tng deg(v) chn
vC
Tng deg(v)
vL
chn
v
e
deg
vV
+
( v ) = (v ) = 7
deg
vV
2. Cho bit cc nh ca th c bc ln lt l: 4, 3, 3,
2, 2. S cnh ca th ny l:
a) 5 b) 6 c) 7 d) 8
I. nh ngha th
II. Cc loi th
V. th lin thng
a 2 4
1 c
g (1, 2, 6, 4, 3)
b f (a, c, f, d)
d 5
(1, 3, 4, 5, 6)
3 h
e 30
6
Chng 1 Cc khi nim c bn 30
L thuyt th
Ni dung
I. nh ngha th
II. Cc loi th
V. th lin thng
ng i: 1, 3, 2, 4, 5
V={1, 2, 3, 4, 5} W={1, 2, 4, 5}
E={a, b, c, d, e} F={a, d, e}
2 Cc nh r nhnh?
1
Cc cnh l cu ?
G 5
3
4
G 2
5 H 5
3
3 4
4
Chng 1 Cc khi nim c bn 37
V. th lin thng
Bi tp
1. Trong 1 th G c cha ng 2 nh bc l (cc
nh cn li nu c u bc chn). CM c 1
ng i ni 2 nh bc l vi nhau.
I. nh ngha th
II. Cc loi th
V. th lin thng
S cnh ca
th y ?
S cnh, s nh ca
th vng ?
S cnh, s nh ca
th bnh xe ?
S cnh ca
th siu khi l: n.2n - 1
S cnh ca th
hai pha y ?
Chng minh:
th hai pha
Khng cha chu trnh di l
th, khng cha chu trnh di l
hai pha
1. Chn v l nh bt k. t X = {v}
2. Y = { u | u k vi v, v X}
3. Nu X Y G khng l th hai pha
4. Ngc li, t X := Y Quay tr li 2.
5. Nu tt c cc nh c xt ht m khng xy ra 3.
th G l th hai pha. Ngc li G khng l th
hai pha.
Chu trnh
di l
S cnh: e = 4
S nh: v = 4
S mt: f = 4 4 + 2 = 2
PCM
nh ngha ng cu
Hai th c gi l ng cu nu chng c th thu c t
cng mt th no nh cc php chia cnh.
th y (Kn)
th vng (Cn)
th bnh xe (Wn)
th hai pha
th phng
II. S ng cu ca cc th
III. Hng dn ci t
0 1 2 3 4
0 0 1 1 0 1
1 1 0 1 0 1
2 1 1 0 0 0
3 0 0 0 0 0
4 1 1 0 0 0
0 , if ( i , j ) E
ai, j =
1, if ( i , j ) E
0 1 2 3 4
0 0 0 1 0 1
1 1 0 0 0 0
2 0 1 0 1 0
3 0 0 0 0 1
4 0 1 0 0 0
0 1 2 3 4 5
0 0 1 1 0 1 0
1 1 0 1 0 1 0
2 1 1 0 2 0 0
3 0 0 2 0 1 1
4 1 1 0 1 0 1
5 0 0 0 1 1 1
u im v hn ch
ca ma trn k?
b , if ( i , j ) E Ck l mt gi tr no c
a i, j = quy nh trc (0, -1, , -, ..)
c k , if ( i , j ) E
0 1 2 3 4 5
0 0 4 3 0 7 0
1 4 0 5 0 3 0
2 3 5 0 2 0 0
3 0 0 2 0 5 2
4 7 3 0 5 0 3
5 0 0 0 2 3 0
Cnh u u 2
1
0 0 2
1 0 1
Ci t bng danh sch lin kt
2 0 4
3 1 2
4 1 4
5 2 3
typde struct tagNode 6 3 4
{ 7 3 5
8 4 5
int diemdau1, diemdau2;
} Canh;
Cnh u 1 u 2
(1,2) 1 2
(4,1) 4 1
(1,3) 1 3
(2,4) 2 4
(3,4) 3 4
Ci t bng mng:
Ke[] = {1, 2, 4, 0, 2, 4, 0, 1, 3, 2, 4, 5, 0, 1, 3, 5, 3, 4 }
ViTri[] = {0, 3, 6, 9, 12, 16}
Chng 2 Biu din th 12
I.4. Danh sch k
Ci t bng danh sch k lin kt
nh V Cc cnh k
0 1, 2, 4
1 0, 2, 4
2 0, 1, 3
3 2, 4, 5
4 0, 1, 3, 5
5 3, 4
# include <iostream.h>
# include <stdlib.h>
const maxV = 99;
typedef struct Node {
int v;
struct Node*next;
}node;
int j, x, y, m, n, v ;
node *p, *ke[maxV];
nh V Cc cnh k
0 1, 2, 4
1 0, 2, 4
2 0, 1, 3
3 2, 4, 5
4 0, 1, 3, 5
5 3, 4
0 1 2 3 4 5 6 7 8
0 1 0 0 0 0 1 1 0 0
1 0 0 0 0 1 1 0 1 0
2 1 1 0 1 0 0 0 1 0
3 0 1 1 0 0 0 0 0 1
4 0 0 1 0 1 0 1 0 1
0 1 2 3 4 5 6 7 8
0 1 0 0 0 0 1 1 0 0
1 0 0 0 0 1 1 0 1 0
2 1 1 0 1 0 0 0 1 0
3 0 1 1 0 0 0 0 0 1
4 0 0 1 0 1 0 1 0 1
1 1 -1 1 0 0
2 -1 0 0 0 1
3 0 0 -1 1 0
4 0 1 0 -1 -1
) n2 n v b nh
) D kim tra /k k nhau
) m*n n v b nh
) D dng vic thm bt cc
cnh, nh
20
Chng 2 Biu din th 20
Ni dung
II. S ng cu ca cc th
III. Hng dn ci t
f(1) = a, f(2) = b
f(3) = d, f(4) = b
II. S ng cu ca cc th
III. Hng dn ci t
Khai bo file
Kt ni bin file vi tn thc ca file trn a (floppy
or hard disk)
M file, ng file
c thng tin t file v ghi thng tin vo file
hiu tt danh sch k lin kt cn tham kho phn
bin con tr trong cc ti liu v lp trnh.
III. Tm ng i
Th t duyt:
dcba
gkl
h
fm
e
Chng 3 Tm kim trn th 5
I.1. Ci t quy
B1: Ly s l mt nh ca th
B2: t v = s
B3: Duyt nh v
B4: Nu nh k ca v u c
duyt, t v=nh c duyt
trc nh v, Nu v = s th i n
Bc 6, ngc li tr li Bc 3.
B5: Chn u l nh k cha c
duyt ca v, t v = u, tr li Bc
3
B6: Kt thc
III. Tm ng i
Th t duyt:
d
e c
b f
a g m
h k
l
B1: Ly s l mt nh ca th
B2: t s vo QUEUE
B3: Lp nu QUEUE cha rng.
a.Ly nh p t QUEUE
b.Duyt nh p
c.t cc nh k ca p cha c
xt (cha tng c mt trong
QUEUE) vo QUEUE.
d.Kt thc lp
Bc 1: Khi to
Bt u t nh s. nh du nh s, cc nh khc s u cha b
nh du
X = {s}, Y =
Bc 2: Lp li cho n khi X=
Gn Y= .
Vi mi nh u X
Xt tt c cc nh v k vi u m cha b nh du. Vi mi nh
:
nh du v
Lu ng i, nh lin trc v trong ng i t s v l u.
a v vo tp Y
Gn X = Y
III. Tm ng i
Ci t:
v = t;
while (v != s)
{
printf (v);
v = Truoc[v];
}
III. Tm ng i
I. th Euler
II. th Hamilton
th Euler
1. nh ngha
2. nh l Euler
th Euler th na Euler
Chng minh
G c chu trnh Euler => Mi nh u bc chn
Mi nh u bc chn => G c chu trnh Euler
Chng minh ?
nh l 3:
th c hng, lin thng yu G=(V, E) c chu trnh Euler khi v ch
khi mi nh ca G c bn bc vo bng bn bc ra.
=> Khi G (c hng) c chu trnh Euler th n lin thng mnh.
nh l 4:
th c hng, lin thng yu G=(V, E) c ng i Euler nhng
khng c chu trnh Euler khi v ch khi G tn ti duy nht hai nh sao
cho: deg+(u) deg-(u) = deg+(v) - deg-(v) = 1, v tt c cc nh cn li
c bn bc vo bng bn bc ra.
nh v Ke(v)
1 6, 5
2 5, 6
3 6, 5
4 6, 5, 7, 8
5 4, 3, 2, 1
6 4, 3, 2, 1
7 4, 8
8 4, 7
I. th Euler
II. th Hamilton
th Hamilton
1. nh ngha
2. nh l
nh l Dirac
Cho th v hng G=(V, E) c n nh (n 3). Nu mi
nh v ca th u c deg(v) n/2 th G c chu trnh
Hamilton.
Chng minh
Thm vo G k nh mi v ni chng vi tt c cc
nh ca G ta c G.
Gi s k l s nh nht sao cho G l th Hamilton.
Ta s chng minh l k = 0.
Chng minh
Gi s k > 0, Xt chu trnh Hamilton trong G: v p w
v. Vi p l 1 trong nhng nh mi. Ta thy:
v v w khng th k nhau ( Ngc li khi c th b p v
l v k l min )
Nu v k v v w k w th w khng th i lin sau v. Tri li: Ta
thay v p w v w v bi: v v w
w v b qua p. Do : Vi mi nh k vi v ta lun
tm c 1 nh khng k vi w:
S nh khng k vi w s nh k vi v (n/2 + k)
M s nh k vi w (n/2 + k)
Do |VG| (n + 2k) > n + k V l !!! (PCM)
Chng 4 th Euler v Hamilton 21
II.2. nh l
Ci t thut ton
void hamilton(k)
/*Pht trin dy X1,X2,,Xk-1
G=(V,E) c cho bi Danh Sch k: Ke(v), v V */
{
for ( y Ke(Xk-1) )
if ( ( k = = n+1 ) && ( y = = v0 ) ) Xut(X1,Xn,v0);
else if ( Chuaxet[y] ) {
Xk = y;
Chuaxet[y] = 0;
Hamilton(k+1);
Chuaxet[y] = 1; //Quay lui
}
}
main(){
for (v V) Chuaxet[v] = 1;
X1 = v0; Chuaxet[v0] = 0; Hamilton(2);
}
V d
V d
I. nh ngha
II. Cy khung ca th
V. Cy c gc
Chng 5 - Cy 2 L thuyt th
I. nh ngha
Cy l th v hng
Lin thng
Khng c chu trnh
Rng l th v hng
Khng c chu trnh
Chng 5 - Cy 3
I. nh ngha
nh l nhn bit cy
Cho T =(V, E) l th v hng n nh. Cc mnh sau
y l tng ng:
M1: T l cy ( T lin thng v khng cha chu trnh ).
M2: T khng cha chu trnh v c n-1 cnh.
M3: T lin thng v c n-1 cnh.
M4: T lin thng v mi cnh ca n u l cu.
M5: Hai nh bt k ca T c ni vi nhau bi ng 1
ng i n.
M6: T khng cha chu trnh nhng h c thm vo n
mt cnh ta thu c ng 1 chu trnh.
Chng 5 - Cy 4
I. nh ngha
nh l nhn bit cy
Chng minh:
Ta s chng minh nh l trn theo s sau:
M1 M2 M3 M4 M5 M6 M1
Chng 5 - Cy 5
I. nh ngha
Chng minh M1 M2: Nu T l cy n nh th T khng c chu
trnh v c n-1 cnh
Chng minh bng phng php quy np
Vi n=1 th th c n-1 = 1 1 = 0 (ng)
Gi s khng nh ng cy c k 1 nh. Ta s ch ra cy T c
k+1 1 nh s c s cnh l k.
Chn ng i di nht trong G l P = (v1 ,v2 ,,vm).R rng v1 l nh
treo :
v1 khng th k vi cc nh v3,,vm v G khng c chu trnh.
v1 khng th c ni vi cc nh khc v P l di nht
Xt G = G \ { v1, (v1 ,v2) } (Khng th b cc nh trung gian). Ta c
G c k nh. Theo gi thit quy np G c k-1 cnh. Do G c k cnh
(PCM)
Chng 5 - Cy 6
I. nh ngha
Chng 5 - Cy 7
I. nh ngha
Chng 5 - Cy 8
I. nh ngha
Chng minh M4 M5:Nu T lin thng v mi
cnh ca T l cu th hai nh bt k ca T c
ni vi nhau ng bi 1 ng n.
T lin thng nn mi 2 nh ca T tn ti ng ni
gia chng. ng ni ny l duy nht v tri li T s
c chu trnh v cc cnh trn chu trnh s khng th
l cu.(PCM)
Chng 5 - Cy 9
I. nh ngha
Chng minh M5 M6:Nu hai nh bt k ca T c ni
vi nhau ng bi 1 ng n th T khng cha chu trnh
nhng h c thm vo n 1 cnh ta thu c ng 1 chu
trnh
T khng cha chu trnh v nu T c chu trnh th s c cp nh
c ni vi nhau bi 2 ng n.
Thm vo cnh (u,v) ta s nhn c chu trnh gm ng n
ni u vi v v cnh (u,v) mi.
Do ng n ni trn l duy nht nn chu trnh nhn c cng
l duy nht.
(PCM)
Chng 5 - Cy 10
I. nh ngha
Chng minh M6 M1:T khng cha chu trnh
nhng h c thm vo n mt cnh ta thu c
ng 1 chu trnh th T l cy (lin thng v khng
c chu trnh).
Chng minh bng phn chng
Chng 5 - Cy 11
Ni dung
I. nh ngha
II. Cy khung ca th
V. Cy c gc
Chng 5 - Cy 12 L thuyt th
II.1. nh ngha
Cho th G =(V, E) v hng, lin thng. Mt cy
T=(V,F) c xy dng t G vi F E (T cha tt c cc
nh ca G v tp cnh F l con ca tp cnh E) c gi
l cy khung ca th G.
Cy bao trm hay cy ti i.
Chng 5 - Cy 13
II.2. nh l Cayley
S cy khung ca th Kn l nn-2
S cy khung l: 42 = 16
Chng 5 - Cy 14
II.3. Xy dng cy khung
Xy dng theo chiu su
Xy dng theo chiu rng
Tham s
Input: th G lu di dng danh sc k - Mng Ke[]
Output: Cy khung T ca th
Chng 5 - Cy 15
II.3.a. X/d theo chiu su
/* Khai bo cc bin ton cc ChuaXet, Ke, T */
void Tree_DFS(v);
{
ChuaXet[v] = 0;
for (u Ke(v))
if (ChuaXet[u]) {
T = T (v,u);
Tree_DFS(u);
};
}
main(){
/* Nhp th, to bin Ke */
for (v V)
ChuaXet[v] = 1; /* Khi to c cho nh */
T = ; /* T l tp cnh cy khung */
Tree_DFS(root); /* root l nh no ca th */
}
Chng 5 - Cy 16
II.3.a. X/d theo chiu su
V d nh v Ke(v)
1 2, 3
2 4, 1
3 1, 6, 5, 4
4 2, 3, 7, 8
5 6, 3
6 3, 5
7 4,8
8 7, 4, 10, 9
9 8, 10
10 8, 9
1 2 4 3 6 5
7 8 10 9
Cy khung ca G l:
{(1, 2), (2, 4), (4, 3), (3, 6), (6, 5), (4, 7), (7, 8), (8, 10), (10, 9)}
Chng 5 - Cy 17
II.3.b. X/d theo chiu rng
/* Khai bo cc bin ton cc ChuaXet, Ke, QUEUE */
void Tree_BFS(r);{
QUEUE = ;
QUEUE r;
ChuaXet[r] = 0;
while (QUEUE != ){
v QUEUE;
for (u Ke(v))
if ( ChuaXet[u] ){
QUEUE u;
ChuaXet[u] = 0;
T = T (v,u);
};
}
}
main() /* Nhp th, to bin Ke */{
for (v V)
ChuaXet[v] = 1; /* Khi to c cho nh */
T = ; /* T l tp cnh cy khung */
Tree_DFS(root); /* root l nh no ca th */
}
Chng 5 - Cy 18
II.3.b. X/d theo chiu rng
V d nh v Ke(v)
1 2, 3
2 4, 1
3 1, 6, 5, 4
4 2, 3, 7, 8
5 6, 3
6 3, 5
7 4,8
8 7, 4, 10, 9
9 8, 10
123 10 8, 9
465
78
10 9
Cy khung ca G l: {(1, 2), (2, 3), (2, 4), (4, 6), (6, 5), (4, 7), (7, 8), (8, 10), (10, 9)}
Chng 5 - Cy 19
Ni dung
I. nh ngha
II. Cy khung ca th
V. Cy c gc
Chng 5 - Cy 20 L thuyt th
III.Tp cc chu trnh c bn
nh ngha
Gi s G=(V,E) l n th v hng lin thng, H=(V,T)
l cy khung ca G.
Nu thm mt cnh e E\T vo cy khung H ta s thu
c ng 1 chu trnh trong H, k hiu n l Ce. Tp cc
chu trnh:
= { Ce : e E\T } c gi l tp cc chu trnh c bn
ca th G.
Chng 5 - Cy 21
III.Tp cc chu trnh c bn
Tnh cht
Tp cc chu trnh c bn ph thuc vo cy khung ca th. Hai cy
khung khc nhau c th cho hai tp chu trnh c s khc nhau.
Nu mt th lin thng c n nh, m cnh. Khi cy khung c n-1
cnh, cn li m-n+1 cnh ngoi. Tng ng vi mi cnh ngoi, ta c
mt chu trnh c bn. V vy, s chu trnh c bn ca mt th lin
thng l m-n+1.
Tp cc chu trnh c bn l mt tp nhiu nht cc chu trnh tha mn
iu kin: Mi chu trnh c ng mt cnh ring, cnh khng nm
trong cc chu trnh cn li v vic loi b cnh ny khng nh hng
n tnh lin thng ca th v khng nh hng n cc chu trnh
cn li. Nh vy ta c th b ti a m - n+1 cnh m vn m bo tnh
lin thng ca th.
Chng 5 - Cy 22
III.Tp cc chu trnh c bn
ngha
Cc bi ton v mch in
Mi mch vng tng ng vi mt chu trnh c bn.
Tng hiu in th dc theo mt mch vng bng 0. (L
Kirchoff)
Lp h PT tuyn tnh Tnh ton hiu in th trn mi
ng dy ca mng in.
Chng 5 - Cy 23
III.Tp cc chu trnh c bn
Thut ton
/* Khai bo cc bin ton cc d, num, STACK, Index, Ke */
void Cycle(int v);{
d ++; STACK[d] = v; num ++; Index[v] = num;
for (u Ke(v))
if (Index[u] ==0 ) Cycle(u);
else if (( u != STACK[d-1] ) && ( Index[v] > Index[u] ) )
Ghi nhn chu trnh STACK[d], , STACK[c], vi STACK[c] =u;
d --;
}
main(){
for (v V) Index[v] = 0; /* Khi to c cho nh */
num = 0; d = 0; STACK[0] = 0;
for (v V)
if (Index[v] == 0) Cycle(v);
}
Chng 5 - Cy 24
III.Tp cc chu trnh c bn
V d
nh v Ke(v)
1 2, 7, 3
2 6, 1
3 5, 4, 1
4 3, 5
5 3, 4
6 8, 9, 7, 2
7 6, 9, 1
8 6
9 7, 6
Chng 5 - Cy 25
III.Tp cc chu trnh c bn
Chng 5 - Cy 26
Ni dung
I. nh ngha
II. Cy khung ca th
V. Cy c gc
Chng 5 - Cy 27 L thuyt th
IV. Cy khung nh nht
Cy khung nh nht
1. Khi nim
Chng 5 - Cy 28
IV.1. Khi nim
Cho G = (V, E) l th v hng lin thng.
Mi cnh e ca th c gn vi mt s khng m
w(e) gi l di (Trng s) ca n.
Gi s T = (V, F) l cy khung ca G
Trng s ca cy khung T:
w(T) = e F
w (e)
Chng 5 - Cy 29
IV.1. Khi nim
ng dng
Bi ton xy dng h thng ng st
Bi ton ni mng my tnh
Chng 5 - Cy 30
IV.2. Thut ton Kruskal
th G=(V, E), Xy dng tp cnh F ca T=(V, F) theo
tng bc:
1. Sp xp cc cnh ca G theo th t trng s ( di)
tng dn
2. Bt u vi F= b xung dn cc cnh ca G vo F vi
iu kin khng to nn chu trnh trong T.
3. Thut ton dng li khi c n-1 cnh c chn.
Chng 5 - Cy 31
IV.2. Thut ton Kruskal
V d
Chng 5 - Cy 34
IV.3. Thut ton Prim
Chng 5 - Cy 35
IV.3. Thut ton Prim
Ci t
void Prim()
{
F = ; VT = u;
while ( |F| < n-1 )
{
Chn e = { min w(u,v) (u VT ) & (v VT ) };
F = F {e};
VT = VT {v};
}
}
Chng 5 - Cy 36
IV. Cy khung nh nht
Chng minh tnh ng n v nhn xt hai thut
ton Kruskal v Prim ?
Chng 5 - Cy 37
Ni dung
I. nh ngha
II. Cy khung ca th
V. Cy c gc
Chng 5 - Cy 38 L thuyt th
V. Cy c gc
Cy c gc
1. Cc khi nim
2. Cy tm kim nh phn
3. Cy quyt nh
Chng 5 - Cy 39
V.1. Cc khi nim
T l mt cy c gc
x, y, z l cc nh trong T
v0, v1, , vn l mt ng i
n trong T
Vn-1 l cha (parent) ca vn
v0 ,v1 ,,vn-1 l cc tin bi (
ancestor) ca vn
vn l con (child) ca vn-1
Nu x l tin bi ca y th y l
hu du (descendant) ca x
Nu y, z l con ca x th y v
z l anh em (siblings)
Chng 5 - Cy 40
V.1. Cc khi nim
Chng 5 - Cy 41
V.1. Cc khi nim
Cha ca c l b Cc l : d, e, f, l, m, i, n, o
Con ca g l h, i, j Mc ca c l 2, ca k l 3
Cc tin bi ca e l c, b, a Chiu cao ca cy l 4
Cc hu du ca b l c, d, e Cy con gc g.
Cc nh trong : a, b, c, g, h, j, k
Chng 5 - Cy 42
V.1. Cc khi nim
Mt cy c gc gi l:
m cy (m-ary tree) nu mi nh trong khng c
qu m con
m cy y (full m-ary tree) nu mi nh trong c
ng m con
Cy nh phn (binary tree) nu mi nh khng c
qu 2 con
Cy c gc th t (Ordered rooted tree) nu cc con
ca mi nh trong c xp th t t tri qua phi
Chng 5 - Cy 43
V.1. Cc khi nim
c bit: Cy nh phn c th t:
Nu mt nh trong c 2 con th
Con th nht l con bn tri ( left child)
Con th 2 l con bn phi ( right child)
Chng 5 - Cy 44
V.1. Cc khi nim
Mt s v d
M hnh gia ph mt dng h
M hnh biu din ca cc t chc
V d: M hnh t chc Trng i Hc
Chng 5 - Cy 45
V.1. Cc khi nim
Mt s v d
M hnh cc tp tin trong
my tnh
Cc tp tin trong my
tnh c t chc
thnh cc th mc, cc
th mc c t chc
di dng cy, trong
th mc gc l gc ca
cy
Chng 5 - Cy 46
V.2. Cy tm kim nh phn
Mt cy tm kim nh phn l mt cy nh
phn T m trong :
Mi nh c gn cho mt nhn
Cc nhn c th so snh c vi nhau
nh vT, cc nhn trong cy con bn tri ca v u
nh hn nhn ca v v cc nhn trong cy con bn phi
ca v u ln hn nhn ca v
Chng 5 - Cy 47
V.2. Cy tm kim nh phn
V d:: 30, 20, 10, 40, 32, 27, 17, 8, 42, 78, 35.
Chng 5 - Cy 48
V.2. Cy tm kim nh phn
Chng 5 - Cy 49
V.2. Cy tm kim nh phn
Thut ton tm kim trn cy tm kim nh phn
void TK( Cy NPTK T, phn t x);
{
v = gc ca T;
if (v == NULL ) thm nh r vo cy v gn cho n nhn l x
while ((v != NULL) && (label(v) != x) )
{
if (x == label(v)) cout << Tm c x;
if (x < label(v))
if (con bn tri v != NULL) v = con bn tri v;
else thm nh nhn x l con bn tri v v t v := NULL;
if (x > label(v))
if (con bn phi v != NULL) v = con bn phi v;
else thm nh nhn x l con bn phi v v t v:=NULL;
}
}
Chng 5 - Cy 50
V.3. Cy quyt nh
Chng 5 - Cy 51
V.3. Cy quyt nh
Chng 5 - Cy 52
V.3. Cy quyt nh
Chng 5 - Cy 53
V.4. Cc phng php duyt cy
Thut ton ving thm mi nh ca mt cy
c gc c th t ng 1 ln mt cch c h
thng gi l thut ton duyt cy
Chng 5 - Cy 54
V.4. Cc phng php duyt cy
Thut ton duyt tin t
void Preorder( cy th t c gc T);
{
r = gc ca T;
Thm r;
for ( Mi cy con c ca r t tri sang phi )
{
T(c) = Cy con vi gc c
Preorder( T(c) )
}
}
Chng 5 - Cy 55
V.4. Cc phng php duyt cy
Thut ton duyt trung t
void Inorder( cy th t c gc T)
{
r := gc ca T
if (r l l) Thm r;
else
{
s = con u tin t tri sang phi ca r
T(s) = Cy con vi gc s;
Inorder( T(s) ); Thm r
for (Mi cy con c ca r t tri sang phi tr s)
T(c) = Cy con vi gc c
Inorder( T(c) )
}
}
Chng 5 - Cy 56
V.4. Cc phng php duyt cy
Thut ton duyt hu t
Void Postorder( cy th t c gc T);
{
r = gc ca T
for (Mi cy con c ca r t tri sang phi)
{
T(c) = Cy con vi gc c
Postorder( T(c) )
}
Thm r
}
Chng 5 - Cy 57
V.4. Cc phng php duyt cy
V d
+ Duyt tin t: a, b, c, d, e, f, g, h, o, k, l, m, n, p, q, s, t
+ Duyt trung t: d, c, e, b, a, g, f, h, m, l, n, k, o, p, s, q, t
+ Duyt hu t: d, e, c, b, g, h, f, m, n, l, k, p, s, t, q, o, a
Chng 5 - Cy 58
Chng 6: Bi ton t mu th
Ni dung
I. nh ngha
II. nh l 4 mu
V. Mt s bi ton ng dng
Bn ny cn dng 4 mu t
Chng 6 Bi ton t mu th 3
I. nh ngha
a d
c
b e
nh ngha 1
T mu mt n th l s gn mu cho cc nh ca n sao cho
hai nh lin k nhau c gn mu khc nhau.
nh ngha 2
S mu ca mt th l s ti thiu cc mu cn thit t mu th ny.
Chng 6 Bi ton t mu th 4
II. nh l 4 mu
nh l: S mu ca mt th phng l
khng ln hn 4
nh l ny c pht biu ln u tin nm 1850 v
c 2 nh ton hc M Appel v Haken chng minh
nm 1976 bng phn chng.
i vi cc th khng phng s mu c th tu ln
chng minh th G l n-mu ta phi
Ch ra 1 cch t mu G vi n mu
CMR khng th t mu G vi t hn n mu
Chng 6 Bi ton t mu th 5
II. nh l 4 mu
Cc bi ton t mu th
1. Cho th G v s nguyn k. Xy dng mt
thut ton kim tra xem c th t mu G
bng k mu, nu c th thc hin vic .
2. Cho th G hy xc nh s mu k ca th
v hy t mu G bng k mu
Chng 6 Bi ton t mu th 6
II. Nhn bit th 2-mu
nh l
Mt th G l 2-mu khi v ch khi G khng
cha mt chu trnh l no.
Chng minh
1. Gi s G l th 2-mu ta phi CMR G khng cha
chu trnh l.
Tht vy nu G c chu trnh l C=(v1, v2, , v2n+1, v1)
Do C ch c t bi 2 mu cc nh l s c t
bng 1 mu. Nhng lc v1 v v2n+1 l 2 nh k nhau
c cng mu v l !!! (PCM)
Chng 6 Bi ton t mu th 7
II. Nhn bit th 2-mu
Chng minh
2. Gi s G khng cha chu trnh l.Ta s CMR G l th
2-mu.
Chn 1 nh r lm gc v t n mu . x V s
c t mu nu ng i ngn nht t x ti r c
s ca.nh chn. Tri li t x mu xanh.
Ta s chng minh rng nh x, y ca cnh (x,y) bt k
c t hai mu khc nhau.
Tri li gi s x v y l 2 nh ca cnh (x,y) no
c t cng mu
Chng 6 Bi ton t mu th 8
II. Nhn bit th 2-mu
Chng minh
Trng hp 1: Px v Py khng c chung cnh. Ta c
Px + (x,y) + Py l chu trnh c s cnh l. (Mu thun
gi thit).
Chng 6 Bi ton t mu th 9
II. Nhn bit th 2-mu
Chng minh
Trng hp 2: Px v Py c chung k cnh t nh a ti
nh b. Ta s nhn c hai chu trnh Ca , Cb v k
cnh chung. Ta c Px + (x,y) + Py c s l cnh m:
| Px + (x,y) + Py | = | Ca | + | Cb | + 2k
1. Xp cc nh theo th t bt k 1,2, n
2. To tp Li - tp cc mu c th gn cho nh I
3. Bt u t t nh 1
4. Vi nh k {1,,n} t mu u tin ca Lk cho k
5. j > k v j k k loi b trong Lj mu c t cho k
6. Gii thut dng li khi tt c cc nh c t
Chng 6 Bi ton t mu th 11
III. Thut ton SequentialColor
V d Cc mu:
X: Xanh
:
T: Tm
V: Vng
Th t t cc nh: 1, 2, 3, 4
Cc bc L1 L2 L3 L4 Mu t
Khi to X, , T, V X, , T, V X, , T, V X, , T, V
B1 X X, , T, V X, , T, V , T, V 1 - Xanh
B2 X , T, V , T, V 2 - Xanh
B3 T, V 3 -
B4 T 4 - Tm
Chng 6 Bi ton t mu th 12
III. Thut ton SequentialColor
V d Cc mu:
X: Xanh
:
T: Tm
V: Vng
Th t t cc nh: 4, 3, 2, 1
Cc bc L4 L3 L1 L2 Mu t
Khi to X, , T, V X, , T, V X, , T, V X, , T, V
B1 X , T, V , T, V X, , T, V 4 - Xanh
B2 , T, V X, T, V 3 -
B3 X, T, V 1 -
B4 X 2 - Xanh
Chng 6 Bi ton t mu th 13
III. Thut ton SequentialColor
Nhn xt
L dng thut ton tham lam Li gii tm c cha
chc ti u
phc tp ca gii thut O(n2)
Chng 6 Bi ton t mu th 14
IV.Mt s bi ton ng dng
Bi ton lp lch thi
Lp lch thi: Hy lp lch thi trong trng i hc sao
cho khng c sinh vin no c 2 mn thi cng lc
Cc nh : Cc mn thi
C 1 cnh ni 2 nh nu nh c 1 SV thi c 2
mn ny
Thi gian thi c th hin bi cc mu khc
nhau
Vic lp lch thi s tng ng vi vic t mu th
ny
Chng 6 Bi ton t mu th 15
IV.Mt s bi ton ng dng
Bi ton lp lch thi
C 7 mn thi: Ton (t), Anh Vn (a), L (l), Pascal (p), Tin hc i cng
(h), Ting vt thc hnh (v), Visual Basic (b).
Cc cp mn thi c chung sinh vin l: (t,a), (t, l), (t, p), (t,b),(a,l), (a,p),
(a,h), (a,b), (l,p), (l,b), (p,h), (p,v), (h,b), (v,b).
Kt qu t mu
a l p h v b t
Xanh Tm Nu L cy Vng en
Kt qu xp lch thi
t thi Mn thi
1 Anh Vn
2 L, Tin hc i cng
3 Pascal, Visual Basic
4 Ting vit thc hnh, Ton
Chng 6 Bi ton t mu th 16
IV.Mt s bi ton ng dng
Bi ton phn chia tn s
Phn chia tn s: Cc knh truyn hnh t s 2 ti 13
c phn chia cho cc i truyn hnh Bc M sao
cho 2 i gn nhau di 150 km c 2 knh khc
nhau
Gii quyt:
Mi i pht : 1 nh
Hai i gn nhau di 150 km l 2 nh c ni vi nhau
Vic phn chia knh: T mu th, trong mi mu biu th
mt knh
Chng 6 Bi ton t mu th 17
Chng 7: Bi ton tm ng i ngn nht
Ni dung
I. Gii thiu
Nu dy v0,v1,,vp l 1 ng i trn G
th di ca n c nh ngha:
p
DoDai ( v0 , v1 ,..., v p ) = a ( vi 1 , vi )
i =1
ng i t mt nh
Ford-Bellman
Dijkstra
ng i t mt nh
Floyd
I. Gii thiu
1 3, 1 , 1 , 1 1, 1
2 3, 1 4, 2 4, 2 1, 1
3 -1, 3 4, 2 4, 2 1, 1
4 -1, 3 3, 5 4, 2 1, 1
5 -1, 3 3, 5 4, 2 1, 1
I. Gii thiu
T nh 2 nh 3 nh 4 nh 5
2, 3, 4, 5 1, 1 ,1 , 1 7, 1
3, 4, 5 2, 2 5, 2 7, 1
4, 5 4, 3 6, 3
E 6, 3
1, 1 2, 2 4, 3 6, 3
Chng 7 Bi ton tm ng i ngn nht 13
Ni dung
I. Gii thiu
Vy ng i ngn nht t
nh 1 n nh 3 l: 1 2 3.
Vi trng s = 0.
I. Bi ton lung cc i
II. nh l Ford-Fulkerson
Mng
Mng l mt th c hng G= (V, E)
! nh s (im pht) m deg-(s) = 0
! nh t (im thu) m deg+(t) = 0
cung e = (v, w) E c gn vi mt s khng
m c(e) = c(v, w) 0 gi l Kh nng thng qua
ca cung e.
s : im pht
t : im thu
Nu khng c
cung (v, w) th
c(v, w) = 0
2
3 3
-(v) +(v)
9 5
v
6 12
f ( w , v ) = 2 + 3 + 9 + 6 = 20
w (v)
+
f ( v , w ) = 3 + 5 + 12 = 20
w (v)
Div f ( v ) = 20 20 = 0
f ( w , t ) = 2 + 3 + 9 + 6 = 20
w (t)
+
f ( s , w ) = 3 + 5 + 12 = 20
w (s)
val ( f ) = 20
Chng 8 Lung trong mang 7
I. Bi ton lung cc i
4, 2
3, 3
s : im pht
2, 2
9, 0 8, 1
t : im thu
s t Nu khng c
1, 1
3, 3 5, 1 10, 1 cung (v, w) th
10, 2 20, 1
c(v, w) = 0
Chng 8 Lung trong mang 8
I. Bi ton lung cc i
Bi ton lung cc i
Cho mng G= (V, E), hy tm lung f trong mng sao
cho gi tr lung l ln nht.
Lung f nh vy gi l lung cc i
ng dng:
Bi ton lp bn giao thng trong thnh ph.
Bi ton m ci vng qu.
I. Bi ton lung cc i
II. nh l Ford-Fulkerson
val ( f ) = f (v, w )
v X , w X *
f (v, w)
v X *, w X
c (v, w )
v X , w X *
val ( f ) c ( X , X *)
(PCM).
nh l Ford-Fulkerson
Gi tr lung cc i trn mng ng bng kh nng
thng qua ca lt ct hp nht.
Mng G=(V, E)
th tng lung Gf=(V, Ef)
Chng minh?
I. Bi ton lung cc i
II. nh l Ford-Fulkerson
+ Gn nhn: s [-,].
+ Xt s: cung (s,a) s(s,a) = 3 > 0: (a) = min(,3) = 3, p[a]= [+s,3].
nh b: Cha c gn nhn.
+ Xt a: p[c]= [+a,2]
+ Xt c: cung (b,c) f(b,c) = 5 > 0, (c) = min(2,5) = 2 p[b]= [-c,2]
+ Xt b: p[d]= [+b,2].
+ Xt d: p[t]= [+d,2].
Ta c ng tng lung:
tdbcas
Lung f := f + 2 = 7 + 2 = 9.
Chng 8 Lung trong mang 25
LOGIC MNH
1
Contents
1. Mnh
2. S tng ng ca cc mnh
3. V ng v lng t
2
1. Mnh
Mnh l mt cu ng hoc sai, ch khng
th va ng va sai.
(mnh )
H ni l th ca Vit Nam.
1 + 5 = 70
3
Mnh (cont.)
V d: tm ph nh ca mnh : Hm nay l
th t.
Gii: Hm nay khng phi l th t
5
V d: Hm nay l th t. Hm nay
tri ma => Hm nay th t v tri
ma (ton t hi, p^q)
6
V d:
Mn khai v sp hoc
salat.
Cc sinh vin ngnh
CNTT hoc Ton ng
dng c th theo hc
hc phn LTT.
7
Mnh tuyn loi
8
Mnh ko theo p->q
9
Mnh tng ng
10
Dch nhng cu thng thng
11
Gi
q = Bn c li xe my
r = Bn cao di 1.5m
s = Bn trn 18 tui.
Biu thc logic:
(r ^ s) -> q
12
Cc php ton logic v cc php ton BIT
13
14
Bi tp
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2. Tng ng logic
33
34
35
36
37
38
39
40
Bi tp
41
42
43
44
45
3. V NG V LNG T
46
47
48
LNG T
49
50
51
52
53
54
Dch cc cu thng thng thnh biu thc Logic
55
56
CC V D CA LEWIS CARROL
57
P(x) : x l s t
Q(x) : x hung d
R(x) : x ung cafe
58
59
CC BiN RNG BuC
60
61
Cc lng t hai bin
62
63
64
65
BI TP
66
67
68
69
70
BI TP TH
1. G l mt th n, v hng c s nh N>3.
Chng minh G c cha 2 nh cng bc.
2. th G c ng 2 nh bc l. Chng minh tn
ti mt dy chuyn ni hai nh vi nhau.
3. Xt th G n, v hng gm N nh, M cnh
v P thnh phn lin thng.
a. Chng minh: M (N-P)(N-P+1)/2,
suy ra nu M > (N-1)(N-2)/2 th G lin thng.
a. Mt th n c 10 nh, 37 cnh th c chc lin
thng hay khng?
1
BI TP
4. th G n, v hng gm N nh v d(x)(N-
1)/2 vi mi nh x. Chng minh G lin thng.
5. th v hng G lin thng gm N nh.
Chng minh s cnh ca G N-1.
6. Xt th G v hng n. Gi x l nh c bc
nh nht ca G. Gi s d(x)k2 vi k nguyn
dng. Chng minh G cha mt chu trnh s cp
c chiu di ln hn hay bng k+1.
2
BI TP
7. Cho G l th v hng lin thng. Gi s C1
v C2 l 2 dy chuyn s cp trong G c s cnh
nhiu nht. Chng minh C1 v C2 c nh chung.
8. G l th v hng khng khuyn v d(x) 3
vi mi nh x. Chng minh G c cha chu trnh
vi s cnh chn.
3
TREE
4
BI TP NG I
5
1. Tm lung cc i cho mng sau:
2 3 3
12 10
s t
7 13
11 14
4 9 5