TRƯỜNG ĐẠI HỌC ĐÀ LẠT KHOA TOÁN - TIN HỌC TOÁN RỜI RẠC PHẠM TIẾN SƠN Ñaø Laït 2010 ´ RO `.I RA.C TOAN Pha.m Tiˆe´n So.n - `a La.t - 2010 D Mu.c lu.c L` o.i n´ oi d ¯`ˆ au - a.i cu.o.ng vˆ `e d D ¯`ˆ o thi 1.1 C´ac kh´ai niˆe.m 1.2 `en, chu tr`ınh, d¯u.`o.ng d¯i v`a ma.ch Dˆay chuyˆ 15 1.2.1 `en v`a chu tr`ınh Dˆay chuyˆ 15 1.2.2 - u.`o.ng d¯i v`a ma.ch D 19 `o thi Ma trˆa.n biˆe˙’u diˆ˜en d¯ˆ 22 1.3.1 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung 22 1.3.2 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh 24 1.3.3 `e Ma trˆa.n kˆ 27 `o thi C´ac cˆa´u tr´ uc d˜ u liˆe.u biˆe˙’u diˆ˜en d¯ˆ 28 1.4.1 `e Su˙’ du.ng ma trˆa.n kˆ 29 1.4.2 Su˙’ du.ng ma trˆa.n liˆen thuˆo.c 32 1.4.3 Mˆo´i liˆen hˆe gi˜ u.a c´ac biˆe˙’u diˆ˜en 34 1.3 1.4 Duyˆe.t d¯`ˆo thi 35 1.5.1 `eu sˆau (DFS) T`ım kiˆe´m theo chiˆ 35 1.5.2 `eu rˆo.ng (BFS) T`ım kiˆe´m theo chiˆ 37 Pha.m vi v`a liˆen thˆong ma.nh 40 1.6.1 Ma trˆa.n pha.m vi 40 1.6.2 `an liˆen thˆong ma.nh T`ım c´ac th`anh phˆ 45 - ˇa˙’ng cˆa´u D 49 1.7.1 - ˇa˙’ng cˆa´u D 49 1.7.2 1−d¯ˇa˙’ng cˆa´u 51 1.7.3 2−d¯ˇa˙’ng cˆa´u 53 B`ai tˆa.p Chu.o.ng 55 1.5 1.6 1.7 `o thi C´ ac sˆ o´ co ba˙’n cu˙’a d ¯ˆ 67 2.1 Chu sˆo´ 67 2.2 Sˇa´c sˆo´ 70 2.3 Sˆo´ ˆo˙’n d¯i.nh 74 2.4 Sˆo´ ˆo˙’n d¯i.nh ngo`ai 80 2.5 Phu˙’ 84 2.6 `o thi Nhˆan cu˙’a d¯ˆ 89 B`ai tˆa.p Chu.o.ng 92 `e d C´ ac b` to´ an vˆ ¯u.` o.ng d ¯i 3.1 3.2 3.3 3.4 95 - u.`o.ng d¯i D 95 3.1.1 - u.`o.ng d¯i gi˜ u.a hai d¯ı˙’nh D 95 3.1.2 - `ˆo thi liˆen thˆong ma.nh D 96 - u.`o.ng d¯i ngˇa´n nhˆa´t gi˜ D u.a hai d¯ı˙’nh 98 3.2.1 Tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng khˆong ˆam 99 3.2.2 Tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng t` uy y ´ 104 - u.`o.ng d¯i ngˇa´n nhˆa´t gi˜ u.a tˆa´t ca˙’ c´ac cˇa.p d¯ı˙’nh 111 D 3.3.1 Tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng khˆong ˆam 111 3.3.2 Tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng t` uy y ´ 117 Ph´at hiˆe.n ma.ch c´o d¯ˆo d`ai ˆam 121 3.4.1 `o thi c´o hai tro.ng lu.o ng 123 Ma.ch tˆo´i u.u d¯ˆ B`ai tˆa.p Chu.o.ng 125 Cˆ ay 129 4.1 Mo˙’ d¯`ˆau 129 4.2 Cˆay Huffman 132 4.2.1 C´ac bˆo m˜a “tˆo´t” 132 4.2.2 M˜a Huffman 134 4.3 Liˆe.t kˆe cˆay 137 4.4 Cˆay nhi phˆan 141 4.4.1 4.5 4.6 4.7 Thuˆa.t to´an xˆay du ng cˆay t`ım kiˆe´m nhi phˆan 144 Cˆay bao tr` um 147 4.5.1 `eu rˆo.ng x´ac d¯i.nh cˆay bao tr` Thuˆa.t to´an t`ım kiˆe´m theo chiˆ um 148 4.5.2 `eu sˆau x´ac d¯i.nh cˆay bao tr` Thuˆa.t to´an t`ım kiˆe´m theo chiˆ um 149 4.5.3 T`ım cˆay bao tr` um du a trˆen hai ma˙’ng tuyˆe´n t´ınh 150 4.5.4 Thuˆa.t to´an t`ım tˆa´t ca˙’ c´ac cˆay bao tr` um 155 4.5.5 Hˆe co so˙’ cu˙’a c´ac chu tr`ınh d¯ˆo.c lˆa.p 156 Cˆay bao tr` um nho˙’ nhˆa´t 162 4.6.1 Thuˆa.t to´an Kruskal 163 4.6.2 Thuˆa.t to´an Prim 166 4.6.3 Thuˆa.t to´an Dijkstra-Kevin-Whitney 170 B`ai to´an Steiner 174 B`ai tˆa.p Chu.o.ng 177 B` to´ an Euler v` a b` to´ an Hamilton 5.1 187 B`ai to´an Euler 188 5.1.1 `en Euler 190 Thuˆa.t to´an t`ım dˆay chuyˆ 5.2 B`ai to´an ngu.`o.i d¯u.a thu Trung Hoa 195 5.3 B`ai to´an Hamilton 200 5.3.1 `eu kiˆe.n cˆ `an d¯ˆe˙’ tˆ `on ta.i chu tr`ınh Hamilton 205 C´ac d¯iˆ 5.3.2 `eu kiˆe.n d¯u˙’ d¯ˆe˙’ tˆ `on ta.i chu tr`ınh Hamilton 206 C´ac d¯iˆ 5.3.3 5.4 `on ta.i ma.ch Hamilton 208 `eu kiˆe.n d¯u˙’ d¯ˆe˙’ tˆ C´ac d¯iˆ M˜a Gray 212 B`ai tˆa.p Chu.o.ng 214 - `o D ˆ thi phˇ a˙’ ng 219 6.1 - i.nh ngh˜ıa v`a c´ac v´ı du 219 D 6.2 `o thi phˇa˙’ng 221 Biˆe˙’u diˆ˜en d¯ˆ 6.3 `o thi phˇa˙’ng 224 C´ac t´ınh chˆa´t cu˙’a d¯ˆ 6.4 Ph´at hiˆe.n t´ınh phˇa˙’ng 228 6.5 - ˆo´i ngˆa˜u h`ınh ho.c 232 D 6.5.1 Kh´ai niˆe.m 232 6.5.2 T´ınh nhˆa´t 234 B`ai tˆa.p Chu.o.ng 239 Ma.ng vˆ a.n ta˙’i 243 7.1 Mo˙’ d¯`ˆau 243 7.2 `ong l´o.n nhˆa´t 244 B`ai to´an luˆ 7.3 7.2.1 `ong l´o.n nhˆa´t 251 Thuˆa.t to´an t`ım luˆ 7.2.2 - `ˆo thi d¯iˆ `ong 252 `eu chı˙’nh luˆ D 7.2.3 `ong 254 Phˆan t´ıch luˆ `ong l´o.n nhˆa´t 256 Mˆo.t sˆo´ ca˙’i biˆen cu˙’a b`ai to´an luˆ 7.3.1 - `ˆo thi c´o nhiˆ `eu nguˆ `on v`a nhiˆ `eu d¯´ıch 256 D 7.4 7.3.2 - `ˆo thi v´o.i r`ang buˆo.c ta.i c´ac cung v`a d¯ı˙’nh 257 D 7.3.3 - `ˆo thi c´o cˆa.n trˆen v`a cˆa.n du.´o.i vˆ `e luˆ `ong 258 D `ong v´o.i chi ph´ı nho˙’ nhˆa´t 259 Luˆ 7.4.1 7.5 Thuˆa.t to´an Klein-Busacker-Gowen 260 Cˇa.p gh´ep 263 B`ai tˆa.p Chu.o.ng 269 Thu viˆ e.n Graph.h 275 T` liˆ e.u tham kha˙’o 285 `au oi d ¯ˆ L` o.i n´ Trong thu c tˆe´ d¯ˆe˙’ miˆeu ta˙’ mˆo.t sˆo´ t`ınh huˆo´ng ngu.`o.i ta thu.`o.ng biˆe˙’u thi bˇa` ng mˆo.t h`ınh `om c´ac d¯iˆe˙’m (c´ac d¯ı˙’nh)-biˆe˙’u diˆ˜en c´ac thu c thˆe˙’-v`a v˜e c´ac d¯oa.n thˇa˙’ng nˆo´i cˇa.p c´ac a˙’nh gˆ d¯ı˙’nh biˆe˙’u diˆ˜en mˆo´i quan hˆe gi˜ u.a ch´ ung Nh˜ u.ng h`ınh nhu thˆe´ thu.`o.ng go.i l`a c´ac d¯`ˆo thi `o thi u.u c´ac d¯ˆ u.ng kiˆe´n th´ u.c co ba˙’n d¯ˆe˙’ nghiˆen c´ Mu.c d¯´ıch cu˙’a gi´ao tr`ınh l`a cung cˆa´p nh˜ - `ˆo thi xuˆa´t hiˆe.n nhiˆ `eu l˜ınh vu c v´o.i c´ac tˆen go.i kh´ac nhau: “cˆa´u tr´ D uc” cˆong `o quan hˆe.”, “cˆa´u tr´ `en thˆong”, tr`ınh xˆay du ng, “ma.ch” d¯iˆe.n tu˙’ , “lu o c d¯ˆ uc truyˆ “cˆa´u tr´ uc tˆo˙’ ch´ u.c” x˜a hˆo.i v`a kinh tˆe´, “cˆa´u tr´ uc phˆan tu˙’.” h´oa ho.c, vˆan vˆan `eu l˜ınh vu c, c´o rˆa´t nhiˆ `eu nghiˆen ´.ng du.ng rˆo.ng r˜ai cu˙’a d¯`ˆo thi nhiˆ Do nh˜ u.ng u `an d¯ˆay; mˆo.t nhˆan tˆo´ chu˙’ yˆe´u g´op y thuyˆe´t d¯`ˆo thi nh˜ u.ng nˇam gˆ c´ u.u xung quanh l´ `an th´ `eu phˆ uc d¯ˆa˙’y su ph´at triˆe˙’n d¯´o l`a xuˆa´t hiˆe.n c´ac m´ay t´ınh l´o.n c´o thˆe˙’ thu c hiˆe.n nhiˆ ph´ep to´an v´o.i tˆo´c d¯ˆo rˆa´t nhanh Viˆe.c biˆe˙’u diˆ˜en tru c tiˆe´p v`a chi tiˆe´t c´ac hˆe thˆo´ng thu c `en thˆong, d¯˜a d¯u.a d¯ˆe´n nh˜ `o thi c´o k´ıch thu.´o.c l´o.n v`a tˆe´, chˇa˙’ng ha.n c´ac ma.ng truyˆ u.ng d¯ˆ `eu v`ao c´ac thuˆa.t to´an “tˆo´t” c˜ viˆe.c phˆan t´ıch th`anh cˆong hˆe thˆo´ng phu thuˆo.c rˆa´t nhiˆ ung nhu kha˙’ nˇang cu˙’a m´ay t´ınh Theo d¯´o, gi´ao tr`ınh s˜e tˆa.p trung v`ao viˆe.c ph´at triˆe˙’n v`a `o thi tr`ınh b`ay c´ac thuˆa.t to´an d¯ˆe˙’ phˆan t´ıch c´ac d¯ˆ Phu.o.ng ph´ap phˆan t´ıch v`a thiˆe´t kˆe´ c´ac thuˆa.t to´an gi´ao tr`ınh cho ph´ep sinh viˆen c´o thˆe˙’ viˆe´t dˆ˜e d`ang c´ac chu.o.ng tr`ınh minh ho.a Gi´ao tr`ınh d¯u.o c biˆen soa.n cho c´ac d¯ˆo´i tu.o ng l`a sinh viˆen To´an-Tin v`a Tin ho.c Gi´ao tr`ınh su˙’ du.ng ngˆon ng˜ u lˆa.p tr`ınh C++ d¯ˆe˙’ minh ho.a, nhiˆen c´o thˆe˙’ dˆ˜e `an c´o mˆo.t sˆo´ kiˆe´n th´ d`ang chuyˆe˙’n d¯ˆo˙’i sang c´ac ngˆon ng˜ u kh´ac; v`a d¯´o, sinh viˆen cˆ u.c `e ngˆon ng˜ `au hˆe´t c´ac chu.o.ng tr`ınh thao t´ac trˆen cˆa´u tr´ vˆ u lˆa.p tr`ınh C+ + Ngo`ai ra, hˆ uc d˜ u liˆe.u nhu danh s´ach liˆen kˆe´t, nˆen d¯`oi ho˙’i sinh viˆen pha˙’i c´o nh˜ u.ng k˜ y nˇang lˆa.p tr`ınh tˆo´t `om ba˙’y chu.o.ng v`a mˆo.t phˆ `an phu lu.c v´o.i nh˜ Gi´ao tr`ınh bao gˆ u.ng nˆo.i dung ch´ınh nhu sau: `e d¯`ˆo thi • Chu.o.ng th´ u nhˆa´t tr`ınh b`ay nh˜ u.ng kh´ai niˆe.m cˇan ba˙’n vˆ ´ ngh˜ıa cu˙’a c´ac sˆo´ n`ay • Chu.o.ng tr`ınh b`ay nh˜ u.ng sˆo´ co ba˙’n cu˙’a d¯`ˆo thi Y • Chu.o.ng nghiˆen c´ u.u b`ai to´an t`ım d¯u.`o.ng d¯i ngˇa´n nhˆa´t ´ ng du.ng cu˙’a cˆay Huffman n´en d˜ `e cˆay U u • Chu.o.ng d¯`ˆe cˆa.p d¯ˆe´n kh´ai niˆe.m vˆ liˆe.u Ngo`ai tr`ınh b`ay c´ac thuˆa.t to´an t`ım cˆay bao tr` um nho˙’ nhˆa´t `e liˆen quan s˜e d¯u.o c n´oi d¯ˆe´n • B`ai to´an Euler v`a b`ai to´an Hamilton v`a nh˜ u.ng vˆa´n d¯ˆ Chu.o.ng u.u c´ac t´ınh chˆa´t phˇa˙’ng cu˙’a d¯`ˆo thi.; v`a cuˆo´i c` ung • Chu.o.ng nghiˆen c´ • Chu.o.ng t`ım hiˆe˙’u mˆo.t sˆo´ b`ai to´an trˆen ma.ng vˆa.n ta˙’i `an phu lu.c tr`ınh b`ay c´ac cˆa´u tr´ `an thiˆe´t Ngo`ai ra, phˆ uc d˜ u liˆe.u v`a nh˜ u.ng thu˙’ tu.c cˆ d¯ˆe˙’ d¯o.n gia˙’n h´oa c´ac d¯oa.n chu.o.ng tr`ınh minh ho.a c´ac thuˆa.t to´an d¯u.o c tr`ınh b`ay `eu thiˆe´u s´ot `an d¯ˆ `au tiˆen nˆen khˆong tr´anh kho˙’i kh´a nhiˆ Gi´ao tr`ınh d¯u.o c biˆen soa.n lˆ T´ac gia˙’ mong c´o nh˜ u.ng d¯´ong g´op t` u ba.n d¯o.c `eu ngu.`o.i m`a khˆong thˆe˙’ liˆe.t Tˆoi xin ca˙’m o.n nh˜ u.ng gi´ up d¯˜o d¯˜a nhˆa.n d¯u.o c t` u nhiˆ kˆe hˆe´t, d¯ˇa.c biˆe.t l`a c´ac ba.n sinh viˆen, qu´a tr`ınh biˆen soa.n gi´ao tr`ınh n`ay - `a La.t, ng`ay 27 th´ang nˇam 2010 D PHA M Tiˆe´n So n