Bai Giang Ly Thuyet Do Thi

download Bai Giang Ly Thuyet Do Thi

of 111

description

Lỹ thuyết đồ thị

Transcript of Bai Giang Ly Thuyet Do Thi

B GIAO THNG VN TI TRNG I HC HNG HI B MN: KHOA HC MY TNH KHOA: CNG NGH THNG TIN BI GING L THUYT TH TN HC PHN: L THUYT TH M HC PHN: 17205 TRNH O TO: I HC CHNH QUY DNG CHO SV NGNH: CNG NGH THNG TIN HI PHNG - 2009 MC LC CHNG 1: CC KHI NIM C BN CA L THUYT TH ..................... 1 1.1. Tng quan v th .............................................................................................. 1 1.1.1. nh ngha th ........................................................................................... 1 1.1.2. Cc thut ng cn bn ................................................................................... 4 1.1.3. Mt s dng th ......................................................................................... 6 1.2. Biu din th .................................................................................................... 9 1.2.1. Biu din bng ma trn k, ma trn lin thuc .............................................. 9 1.2.2. Danh sch cnh, cung ca th ................................................................. 11 1.2.3. Danh sch k ................................................................................................ 12 Bi tp ........................................................................................................................ 16 CHNG 2: CC THUT TON TM KIM TRN TH ................................ 17 2.1. Tm kim theo chiu su trn th ................................................................... 17 2.2. Tm kim theo chiu rng trn th ................................................................. 20 2.3. Tm ng i v kim tra tnh lin thng ........................................................... 21 2.4. T mu th ...................................................................................................... 28 2.4.1.Gii thiu ........................................................................................................ 28 2.4.2. Cc khi nim c bn .................................................................................. 29 2.4.3. V d ............................................................................................................ 30 2.4.5. Thut ton .................................................................................................... 33 Bi tp ........................................................................................................................ 33 CHNG 3: TH EULER V TH HAMINTON ......................................... 34 3.1. th Euler ........................................................................................................ 34 3.1.1. Khi nim v ng i v chu trnh Euler .................................................. 34 3.1.2. iu kin tn ti ng i hoc chu trnh Euler ......................................... 35 3.1.3. Thut ton tm ng i v chu trnh Euler ................................................ 36 3.1.4. Mt s vn khc v ng i v chu trnh Euler .................................... 37 3.2. th Haminton ................................................................................................. 37 3.2.1. Khi nim v ng i v chu trnh Haminton ........................................... 38 3.2.2. iu kin tn ti ng i hoc chu trnh Haminton .................................. 38 3.2.3. Thut ton tm ng i v chu trnh Haminton ......................................... 39 Bi tp ........................................................................................................................ 40 4.1. Khi nim v cc tnh cht ca cy khung ......................................................... 43 4.2. Cy khung ca th .......................................................................................... 44 4.3. Xy dng cc tp chu trnh c bn ca th .................................................... 47 4.4. Cy khung nh nht ca th ........................................................................... 49 4.4.1. Thut ton Kruskal ...................................................................................... 50 4.4.2. Thut ton Prim ........................................................................................... 56 4.4.3. ng dng ca bi ton tm cy khung nh nht .......................................... 59 Bi tp ........................................................................................................................ 60 CHNG 5: BI TON NG I NGN NHT ................................................ 63 5.1. Cc khi nim m u ........................................................................................ 63 5.2. ng i ngn nht xut pht t mt nh ......................................................... 65 5.3. Thut ton Dijkstra ............................................................................................. 68 5.4. Thut ton Floyd-Washall .................................................................................. 71 5.5. Thut ton Bellman-Ford ................................................................................... 75 Bi tp ........................................................................................................................ 80 CHNG 6: BI TON LUNG CC I TRONG MNG ................................. 83 6.1. Mng. Lung trong mng. Bi ton lung cc i ............................................. 83 6.2. Lt ct. ng tng lung. nh l Ford Fulkerson .......................................... 84 6.4. Mt s bi ton lung tng qut ......................................................................... 91 6.4.1. Mng vi nhiu im pht v im thu ....................................................... 91 6.4.2. Bi ton vi kh nng thng qua ca cc cung v cc nh. ....................... 92 Bi tp ........................................................................................................................ 95 TI LIU THAM KHO ............................................................................................. 99 Tn c pn: L thuyt thLo c pn:2 B mn p trc gng dy: Khoa hc My tnh Koa p trc: CNTT M c pn: 17205Tng s TC:3 TS titL thuytThc hnh/XeminaT hcBi tp ln n mn hc 604515000 u kn tn quyt: Sinh vin phi hc xong cc hc phn sau mi c ng k hc phn ny: K thutlp trnh (C), Cu trc d liu. Mc tu ca c pn: Cung cp cc kin thc v l thuyt th v vn dng cc bi ton trong tin hc N dung c yu Gm 2 phn: -Phncckinthcthcvth,ngdngccbitontinhctrnth:cc phng php biu din th, cc thut ton tm kim c bn trn th, ccchu trnh v thut tontm cy khung nh nht, cc thut ton tm ng i ngn nht, bi ton lung cc i. - Phn thc hnh: Sinh vin ci t chng trnh ca cc bi tp lin quan n th N dung c tt ca c pn: TN CHNG MC PHN PHI S TIT TSLTTH/XeminaBTKT Cng 1. Cc k nm c bn ca l tuyt t55000 1.1. Tng quan v th 31.1.1. nh ngha th1.1.2. Cc thut ng cn bn1.1.3. Mt s dng th1.2. Biu din th 21.2.1. Biu din bng ma trn k, ma trn lin thuc1.2.2. Danh sch cnh, cung ca thCng 2. Cc tut ton tm km trn t117301 2.1. Tm kim theo chiu su trn th 21 2.2. Tm kim theo chiu rng trn th 21 2.3. Tm ng i v kim tra tnh lin thng 12.4. T mu th 21 Cng 3. t Euler v t Hamnton106400 TN CHNG MC PHN PHI S TIT TSLTTH/XeminaBTKT 3.1. th Euler32 3.1.1. Khi nim v ng i v chu trnh Euler3.1.2. iu kin tn ti ng i hoc chu trnh Euler3.1.3. Thut ton tm ng i v chu trnh Euler3.1.4.Mtsvnkhcvngivchutrnh Euler3.2. th Haminton 32 3.2.1. Khi nim v ng i v chu trnh Haminton3.2.2.iukintntingihocchutrnh Haminton3.2.3. Thut ton tm ng i v chu trnh Haminton3.2.4.Mtsvnkhcvngivchutrnh HamintonCng 4. Cy kung ca t128301 4.1. Khi nim v cc tnh cht ca cy khung 14.2. Cy khung ca th 14.3. Xy dng cc tp chu trnh c bn ca th 21 4.4. Cy khung nh nht ca th 32 4.4.1. Thut ton Kruskal4.4.2. Thut ton Prim4.4.3. ng dng ca bi ton tm cy khung nh nhtCng 5. B ton ng ngn nt128301 5.1. Cc khi nim m u 25.2. ng i ngn nht xut pht t mt nh 15.3. Thut ton Dijkstra 21 5.4. Thut ton Floyd-Washall. 11 5.5. Thut ton Bellman-Ford 21 Cng 6. B ton lung cc trong mng108200 6.1. Mng. Lung trong mng. Bi ton lung cc i 16.2. Lt ct, lung. nh l Ford Fulkerson 26.3. Thut ton tm lung cc i 21 6.4. Mt s bi ton lung tng qut 31 TN CHNG MC PHN PHI S TIT TSLTTH/XeminaBTKT 6.4.1. Mng vi nhiu im pht v im thu6.4.2. Bi ton vi kh nng thng qua ca cc cung v cc nh6.4.3. Mng trong kh nng thng qua ca mi cung b chn 2 pha6.4.4. Mt s ng dng khcNm v ca sn vn : Thamdccbuithuyttrnhcagiovin,thc,tlmbitpdogiovingiao, tham d cc bi kim tra nh k v cui k. T lu c tp : -Nguyn Thanh Hng. Nguyn c Ngha, Gio Trnh L Thuyt Th, NXB i hc Quc Gia TPHCM, 2007. -Don Chu Long. L thuyt quy hoch tuyn tnh v l thuyt th. NXB Gio dc. 1982. -KennethRosen.Tonhcrircvngdngtrongtinhc.NXBKHKTHni. 1998. Hn tc v tu cun n g sn vn:-Hnh thc thi cui k : Thi vit. -Sinh vin phi m bo cc iu kin theo Quy ch ca Nh trng v ca B Tang m: Tang m c A, B, C, D, F m n g c pn: Z = 0,3X + 0,7Y. BigingnyltiliucntcvtngntcaBmnKhoahcMytnh, Khoa Cng ngh Thng tin v c dng ging dy cho sinh vin. Ngy p duyt://20 TRNGBMN:THS.NGUYNHUTUNKVGHIRHTN 1 CHNG 1: CC KHI NIM C BN CA L THUYT TH 1.1. Tng quan v th L thuyt th l mt lnh vc c t lu v c nhiu ng dng hin i. Nhng t tng c bn ca l thuyt th c xut vo nhng nm u ca th k 18 bi nh ton hc li lc ngi Thy S Lenhard Eurler. Chnh ng l ngi s dng th gii bi ton ni ting v cc ci cu thnh ph Konigsberg. th c s dng gii cc bi ton trong nhiu lnh vc khc nhau. Chng hn, th c thsdngxcnhccmchvngtrongvngiitchmchin.Chngtacth phnbitcchpchthahchuckhcnhauvicngcngthcphntnhngkhc nhau v cu trc phn t nh th. Chng ta c th xc nh hai my tnh trong mng c th trao i thng tin c vi nhau hay khng nh m hnh th ca mng my tnh. th c trng s trn cc cnh c th s dng gii cc bi ton nh: Tm ng i ngn nht gia hai thnh ph trong mng giao thng. Chng ta cng cn s dng th gii cc bi ton v lp lch, thi kha biu, v phn b tn s cho cc trm pht thanh v truyn hnh 1.1.1. n nga th th l mt cu trc ri rc bao gm cc nh v cc cnh ni cc nh ny. Chng ta phn bit cc loi th khc nhau bi kiu v s lng cnh ni hai nh no ca th. c th hnh dung c ti sao li cn n cc loi th khc nhau, chng ta s nu v d s dng chngmtmtmngmytnh.Gistacmtmnggmccmytnhvccknh in thoi (gi tt l knh thoi) ni cc my tnh ny. Chng ta c th biu din cc v tr t ny tnh bi cc im v cc knh thoi ni chng bi cc on ni, xem hnh 1. Hnh 1. S mng my tnh. Nhn thy rng trong mng hnh 1, gia hai my bt k ch c nhiu nht l mt knh thoi ni chng, knh thoi nacho php lin lc c hai chiu v khng c my tnh no li c ni vi chnh n. S mng my cho trong hnh 1 c gi l n th v hng. Ta i n nh ngha sau 2 nh ngha 1: n th v hng G = (V,E) bao gm V l tp cc nh, v E l tp cc cp khng c th t gm hai phn t khc nhau ca V gi l cc cnh. Trongtrnghpgiahaimytnhnothngxuynphitruyntinhiuthngtin ngitaphinihaimynubinhiuknhthoi.Mngviaknhthoigiaccmy c cho trong hnh 2. Trongtrnghpgiahaimytnhnothngxuynphitruyntinhiuthngtin ngitaphinihaimynubinhiuknhthoi.Mngviaknhthoigiaccmy c cho trong hnh 2. Hnh 2. S mng my tnh vi a knh thoi. nh ngha 2.a th v hng G= (V, E) bao gm V l tp cc nh, v E l tp cc cp khng c th t gm hai phn t khc nhau ca V gi l cc cnh. Hai cnh e1 v e2 c gi l cnh lp nu chng cng tng ng vi mt cp nh. Hnh 3. S mng my tnh vi knh thoi thng bo. R rng mi n th u l a th, nhng khng phi a th no cng l n th, v trong a th c th c hai (hoc nhiu hn) cnh ni mt cp nh no . Trong mng my tnh c th c nhng knh thoi ni mt ny no vi chnh n (chng hn vi mc nh thng bo). Mng nh vy c cho trong hnh 3. Khi a th khng th m t c mng nh vy, bi v c nhng khuyn (cnh ni mt nh vi chnh n). Trong 3 trng hp nychng ta cn s dng n khi nim gi th v hng, c nh ngha nh sau: nh ngha 3.Gi th v hng G = (V, E) bao gm V l tp cc nh v E l tp cc cp khng c th t gmhaiphnt(khngnhtthitphikhcnhau)caVgilcnh.Cnhecgil khuyn nu n c dng e = (u, u). Hnh 4. Mng my tnh vi knh thoi mt chiu Ccknhthoitrongmngmytnhcthchchophptruyntintheomtchiu.Chng hn, trong hnh 4 my ch H Ni ch c th nhn tin t cc my a phng, c mt s my ch c th gi tin i, cn cc knh thoi cho php truyn tin theo c hai chiu c thay th bi hai cnh c hng ngc chiu nhau. Ta i n nh ngha sau. nh ngha 4.n th c hng G = (V, E) bao gm V l tp cc nh v E l tp cc cp c th t gm hai phn t khc nhau ca V gi l cc cung. Nu trong mng c th c a knh thoi mt chiu, ta s phi s dng n khi nim a th c hng: nh ngha 5.a th c hng G = (V, E) bao gm V l tp cc nh v E l tp cc cp c th t gm hai phn t khc nhau ca V gi l cc cung. Hai cung e1, e2 tng ng vi cng mt cp nh c gi l cung lp. Trong cc phn tip theo ch yu chng ta s lm vic v?i n th v hng v n th c hng. V vy, cho ngn gn, ta s b qua tnh t n khi nhc n chng. 4 1.1.2. Cc thut ng cn bn Trong mc ny chng ta s trnh by mt s thut ng c bn ca l thuyt th. Trc tin, ta xt cc thut ng m t cc nh v cnh ca th v hng. nh ngha 1.HainhuvvcathvhngGcgilknhaunu(u,v)lcnhcathG. Nu e = (u, v) l cnh ca th ta ni cnh ny l lin thuc vi hai nh u v v, hoc cng ni l ni nh u v nh v, ng thi cc nh u v v s c gi l cc nh u ca cnh (u, v). c th bit c bao nhiu cnh lin thuc vi mt nh, ta a vo nh ngha sau nh ngha 2.Tagibccanhvtrongthvhnglscnhlinthucvinvskhiul deg(v). Hnh 1. th v hng Th d 1. Xt th cho trong hnh 1, ta cdeg(a) = 1, deg(b) = 4, deg(c) = 4, deg(f) = 3, deg(d) = 1, deg(e) = 3, deg(g) = 0 nhbc0gilnhclp.nhbc1cgilnhtreo.Trongvdtrnnhgl nh c lp, a v d l cc nh treo. Bc ca nh c tnh cht sau: nh l 1. Gi s G = (V, E) l th v hng vi m cnh. Khi tng bc ca tt c cc nh bng hai ln s cung. Chngminh.Rrngmicnhe=(u,v)ctnhmtlntrongdeg(u)vmtlntrong deg(v). T suy ra tng tt c cc bc ca cc nh bng hai ln s cnh. Th d 2. th vi n nh c bc l 6 c bao nhiu cnh? Gii: Theo nh l 1 ta c 2m = 6n. T suy ra tng cc cnh ca th l 3n. H qu. Trong th v hng, s nh bc l (ngha l c bc l s l) l mt s chn. Chng minh. Thc vy, gi O v U tng ng l tp nh bc l v tp nh bc chn ca th. Ta c 2m = deg(v) + deg(v)v e U ;ve O 5 Do deg(v) l chn vi v l nh trong U nn tng th nht trn l s chn. T suy ra tng th hai (chnh l tng bc ca cc nh bc l) cng phi l s chn, do tt c cc s hng ca n l s l, nn tng ny phi gm mt s chn cc s hng. V vy, s nh bc l phi l s chn. Ta xt cc thut ng tng t cho th v hng. nh ngha 3.Nu e = (u, v) l cung ca th c hng G th ta ni hai nh u v v l k nhau, v ni cung (u, v) ni nh u vi nh v hoc cng ni cung ny l i ra khi nh u v vo nh v. nh u(v) s c g l nh u (cui) ca cung (u,v). Tng t nh khi nim bc, i vi th c hng ta c khi nim bn bc ra v bn bc vo ca mt nh. nh ngha 4.Ta gi bn bc ra (bn bc vo) ca nh v trong th c hng l s cung ca th i ra khi n (i vo n) v k hiu l deg+(v) (deg-(v)) Hnh 2. th c hng Th d 3. Xt th cho trong hnh 2. Ta c deg-(a)=1, deg-(b)=2, deg-(c)=2, deg-(d)=2, deg-(e) = 2. deg+(a)=3, deg+(b)=1, deg+(c)=1, deg+(d)=2, deg+(e)=2. Do mi cung (u, v) s c tnh mt ln trong bn bc vo ca nh v v mt lntrong bn bc ra ca nh u nn ta c: nh l 2. Gi s G = (V, E) l th c hng. Khi + -(v) Rt nhiu tnh cht ca th c hng khng ph thuc vo hng trn cc cung ca n. V vy, trong nhiu trng hp s thun tin hn nu ta b qua hng trn cc cung ca th. th v hng thu c bng cch b qua hng trn cc cung c gi l th v hng tng ng vi th c hng cho. 6 1.1.3. Mt s dng th Trong mc ny ta xt mt s n th v hng dng c bit xut hin trong nhiu vn ng dng thc t. 1.1.3.1. t y . th y n nh, k hiu bi Kn, l n th v hng m gia hai nh bt k ca n lun c cnh ni. Cc th K3, K4, K5 cho trong hnh di y. Hnh 1. th y th y Kn c tt c n(n-1)/2 cnh, n l n th c nhiu cnh nht. 1.1.3.2. t vng. th vng Cn, n3. gm n nh v1, v2,. . . .vn v cc cnh (v1,v2), (v2,v3) . . . (vn-1,vn), (vn,v1). th vng C3, C4, C5, C6 cho trong hnh 2. Hnh 2. th vng C3, C4, C5, C6 1.1.3.3. t bn xe. th Wn thu c t Cn bng cch b sung vo mt nh mi ni vi tt c cc nh ca Cn (xem hnh 3). Hnh 3. th bnh xe W3, W4, W5, W6 7 1.1.3.4. t lp png. thlpphngnnhQnlthviccnhbiudin2nxunhphndin.Hai nh ca n gi l k nhau nu nh hai xu nh phn tng ng ch khc nhau 1 bit. Hnh 4 cho thy Qn vi n=1,2,3. Hnh 4. th lp phng Q1, Q2, Q3 1.1.3.5. t ai pha.n th G=(V,E) c gi l hai pha nu nh tp nh V ca n c th phn hoch thnh hai tp X v Y sao cho mi cnh ca th ch ni mt nh no trong X vi mt nh no trong Y. Khi ta s s dng k hiu G=(XY, E) ch th hai pha vi tp nh X Y. nh l sau y cho php nhn bit mt n th c phi l hai pha hay khng. nh l 1. n th l th hai pha khi v ch khi n khng cha chu trnh di l. kim tra xem mt th lin thng c phi l hai pha hay khng c th p dng th tc sau. Cho v l mt nh bt k ca th. t X={v}, cn Y l tp cc nh k ca v. Khi cc nh k ca cc nh trong Y phi thuc vo X. K hiu tp cc nh nh vy l T. V th Y # C th thTip tc xt nh vy i vi T l tp cc nh k ca T,. . . Y, E) vi|X|= m, |Y| = n c gi l th hai pha y v k hiu l K2,3, K3,3, K3,4 c cho trong hnh 5. Khi E Hnh 5. th hai pha 1.1.3.6. t png. 8 th c gi l th phng nu ta c th v n trn mt phng sao cho cc cnh ca n khng ct nhau ngoi nh. Cch v nh vy s c gi l biu din phng ca th. Th d th K4 l phng, v c th v n trn mt phng sao cho cc cnh ca n khng ct nhau ngoi nh (xem hnh 6). Hnh 6. th K4 l th phng Mt iu ng lu nu th l phng th lun c th v n trn mt phng vi cc cnh ni l cc on thng khng ct nhau ngoi nh (v d xem cch v K4 trong hnh 6). nhn bit xem mt th c phi l th phng c th s dng nh l Kuratovski, m pht biu n ta cn mt s khi nim sau: Ta gi mt php chia cnh (u,v) ca th l vic loi b cnh ny khi th v thm vo th mt nh mi w cng vi hai cnh (u,w), (w, u) . Hai th G(V,E) v H=(W,F) c gi l ng cu nu chng c th thu c t cng mt th no nh php chia cnh. nh l 2 (Kuratovski). th l phng khi v ch khi n khng cha th con ng cu vi K3,3 hoc K5.Trongtrnghpring,thK3,3 hocK5khngphilthphng.Bitonvtnh phngcathK3,3lbitonnitingvbacnhvbahthngcungcpnng lng cho chng: Cn xy dng h thng ng cung cp nng lng vi mi mt cn h ni trn sao cho chng khng ct nhau. th phng cn tm c nhng ng dng quan trng trong cng ngh ch to mch in. Biu din phng ca th s chia mt phng ra thnh cc min, trong c th c c min khng b chng. Th d, biu din phng ca th cho trong hnh 7 chia mt phng ra thnh 6 min R1, R2,. . . .R6. Hnh 7. Cc min tng ng vi biu din phng ca th 9 Euler chng minh c rng cc cch biu din phng khc nhau ca mt th u chia mt phng ra thnh cng mt s min. chng minh iu , Euler tm c mi lin h gia s min, s nh ca th v s cnh ca th phng sau y. nh l 3 (Cng thc Euler). Gi s G l th phng lin thng vi n nh, m cnh. Gi r l s min ca mt phng b chia bi biu din phng ca G. Khi r = m-n + 2 C th chng minh nh l bng qui np. Xt th d minh ho cho p dng cng thc Euler. Thd.ChoGlthphnglinthngvi20nh,minhucbcl3.Himt phng b chia lm bao nhiu phn bi biu din phng ca th G? Gii. Do mi nh ca th u c bc l 3, nn tng bc ca cc nhl 3x20=60. T suy ra s cnh ca th m=60/20=30. V vy, theo cng thc Euler, s min cn tm lr=30-20+2=12. 1.2. Biu din th lu tr th v thc hin cc thut ton khc nhau vi th trn my tnh cn phi tm nhng cu trc d liu thch hp m t th. Vic chn cu trc d liu no biu din th c tc ng rt ln n hiu qu ca thut ton. V vy, vic chn la cu trc d liu biu din th ph thuc vo tng tnh hung c th (bi ton v thut ton c th). Trong mcnychngtasxtmtsphngphpcbncsdngbiudinthtrn my tnh, ng thi cng phn tch mt cch ngn gn nhng u im cng nh nhng nhc im ca chng. 1.2.1. Biu din bng ma trn k, ma trn lin thuc Xt n th v hng G=(V,E), vi tp nh V={1, 2,. . .,n}, tp cnh E={e1, e2,. . .,em }. Ta gi ma trn k ca th G l ma trn. A={ ai,j : i,j=1, 2,. . .,n} Vi cc phn t c xc nh theo qui tc sau y: ai, j = 0, nu (i,j) e E vai,j = 1, nu (i,j) eE, i, j=1, 2,. . .,n. Th d 1. Ma trn trn k ca th v hng cho trong hnh 1 l: 123456 1011010 2101010 3110100 10 4001011 5110101 6000110 Hnh 1. th v hng G v th c hng G1 Cc tnh cht ca ma trn k: 1) R rng ma trn k ca th v hng l ma trn i xng, tc l a[i,j]=a[j,i], i,j=1,2,. . .,n.ngc li, mi (0,1)-ma trn i xng cp n s tng ng, chnh xc n cch nh s nh (cn ni l: chnh xc n ng cu), vi mt n th v hng n nh. 2) Tng cc phn t trn dng i (ct j) ca ma trn k chnh bng bc ca nh i (nh j). 3) nu k hiu ajp, i,j=1, 2,. . .,nl phn t ca ma trn Ap =A.A. . .Ap tha s Khi ajp, i,j=1, 2,. . .,ncho ta s ng i khc nhau t nh i n nh j qua p-1 nh trung gian. Ma trn k ca th c hng c nh ngha mt cch hon ton tng t. Th d 2. th c hng G1 cho trong hnh 1 c ma trn k l ma trn sau: 123456 1011000 2000000 3010100 4000000 5000101 6000010 Lu rng ma trn k ca th c hng khng phi l ma trn i xng. 11 Ch : Trn y chng ta ch xt n th. Ma trn k ca a th c th xy dng hon ton tng t, ch khc l thay v ghi 1 vo v tr a[i,j] nu (i,j) l cnh ca th, chng ta s ghi k l s cnh ni hai nh i, j. Trong rt nhiu vn ng dng ca l thuyt th, mi cnh e=(u,v) ca th c gn vi mt con s c(e) (cn vit l c(u,v) gi l trng s ca cnh e. th trong trng hp nh vy c gi l th c trng s. Trong trng hp th c trng s, thay v m trn k, biu din th ta s dng ma trn trng s. C= {c[i,j], i,j=1, 2,..., n} vi c[i,j]=c(i,j) nu (i,j) e E vc[i,j]= 0 nu (i,j)e E c t bng mt trong cc gi tr sau: 0, -u im ln nht ca phng php biu din th bng ma trn k (hoc ma trn trng s) ltrlicuhi:Hainhu,vcknhautrnthhaykhng,chngtachphithc hin mt php so snh. nhc im ln nht ca phng php ny l: khng ph thuc vo s cnh ca th, ta lun phi s dng n2 n v b nh lu tr ma trn k ca n. 1.2.2. Danh sch cnh, cung ca th Trong trng hp th tha ( th c s cnh m tho mn bt dng thc: m < 6n) ngi ta thng dng cch biu din th di dng danh sch cnh. Trong cch biu din th bi danh sch cnh (cung) chng ta s lu tr danh sch tt c cc cnh (cung) ca th v hng (c hng). Mt cnh (cung) e=(x,y) ca th s tng ng vihaibinDau[e],Cuoi[e].nhvy,lutrthtacnsdng2mnvbnh. Nhc im cacch biu din ny l xc nh nhng nh noca th l k vi mt nh cho trc chng ta phi lm c m php so snh (khi duyt qua danh sch tt c cc cnh ca th). Ch : Trong trng hp th c trng s ta cn thm m n v b nh lu tr trng s ca cc cnh. Th d 3. Danh sch cnh (cung) ca th G (G1) cho trong hnh 1 l: DauCuoi DauCuoi 12 12 12 13 13 15 32 23 34 25 54 34 56 45 65 4656Danh sch cnh ca GDanh snh cung ca G1 1.2.3. Danh sch k Trong rt nhiu vn ng dng ca l thuyt th, cch biu din th di dng danh sch k l cch biu din thch hp nht c s dng. Trong cch biu din ny, vi mi nh v ca th chng ta lu tr danh sch cc nh k vi n, m ta s k hiu lKe(v)= { u V: (v,u) E}Khi vng lp thc hin vi mi mt phn t trong danh sch ny theo th t cc phn t c sp xp trong n s c vit nh sau: for u Ke(v) do. . . Chng hn, trn PASCAL c th m t danh sch ny nh sau (Gi l cu trc Forward Star): Const m=1000; { m-so canh}n= 100; { n-so dinh}var Ke:array[1..m] of integer; Tro:array[1..n+1] of integer; 13 Trong Tro[i] ghi nhn v tr bt u ca danh sch k ca nh i, i=1, 2,. . .,n, Tro[n+1]=2m+1. Khi dng lnh qui c for u Ke(v) do begin . . . . end. C th thay th bi cu trc lnh c th trn PASCAL nh sau For i:=Tro[v] to Tro[v+1]-1 do Begin U:=Ke[i]; . . . . End; Trong rt nhiu thut ton lm vic vi th chng ta thng xuyn phi thc hin cc thao tc: Thm hoc bt mt s cnh. Trong trng hp ny cu trc d liu dng trn l khng thun tin. Khi nn chuyn sang s dng danh sch k lin kt (Linked Adjancency List) nh m t trong chng trnh nhp danh sch k ca th t bn phm v a danh sch ra mn hnh sau y: Program AdjList;Const maxV=100; Type link=^node; node=record v:integer; next:link; End; 14 Var j,x,y,m,n,u,v:integer; t:link; Ke:array[1. .Vmax] of link; Begin Write(Cho so canh va dinh cua do thi:); readln(m,n); (*Khoi tao*) for j:=1 to n do Ke[j]:=nil; for j:=1 to m do begin write(Cho dinh dau va cuoi cua canh ,j,:); readln(x,y); new(t); t^.v:=x, t^.next:=Ke[y]; Ke[y]:=t; new(t); t^.v:=y, t^.next:=Ke[x]; Ke[x]:=t; end; writeln(Danh sach ke cua cac dinh cua do thi:); for J:=1 to m do begin writeln(Danh sachcac dinh ke cua dinh ,j,:); t:=Ke[j]; while t^.nextnil do begin 15 write(t^.v:4); t:=t^.next; end; end; readln; End.

Th d 4. Danh sch k ca cc th trong hnh 1 c m t trong hnh sau: nh u nh u Hnh 2. Danh sch k ca th v hng G v c hng G1 cho trong hnh 1 rng trong cch biu din ny chng ta cn phi s dng c m+n n v b nh. 16 Trong cc thut ton m t cc phn tip theo hai cu trc danh sch k v ma trn trng s c s dng thng xuyn. Bi tp Bi 1: Cho th nh hnh v Hy biu din th trn di dng ma trn k, danh sch cnh, danh sch k. Bi 2: Vit chng trnh bng ngn ng lp trnh C nhp vo mt th, in th ra mn hinh theo dng ma trn k. Bi 3: Vit chng trnh bng ngn ng lp trnh C nhp vo mt th, in th ra mn hinh theo dng danh sch cnh. Bi 4: Vit chng trnh bng ngn ng lp trnh C nhp vo mt th, in th ra mn hinh theo dng danh sch k. 1 2 3 4 5 6 8 7 17 CHNG 2: CC THUT TON TM KIM TRN TH Rt nhiu thun ton trn th c xy dng trn c s duyt tt c cc nh ca thsaochominhcancvingthmngmtln.Vvy,vicxydngnhng thuttonchophpduytmtcchhthngttcccnhcathlmtvnquan trng thu ht s quan tm nghin cu ca nhiu tc gi. Nhng thut ton nh vy chng ta s gi l thut ton tm kim trn th. Trong mc ny chng ta s gii thiu hai thut ton tm kim c bn trn th: Thut ton tm kim theo chiu su (Depth Firt Search) v Thut ton tm kim theo chiu rng (Breadth First Search) v ng dng ca chng vo vic gii mt s bi ton trn th. Trong mc ny chng ta s xt th v hng G=(V,E), vi nh n v m cnh. Chng ta s quan tm n vic nh gi hiu qu ca cc thut ton trn th, mmt trong nhng c trng quan trng nht l phc tp tnh ton, tc l s php ton m thut ton cn phi thc hin trong tnh hung xu nht c biu din nh hm ca kch thc u vo ca bi ton. Trong cc thut ton trn th, u vo l th G=(V,E), v vy, kch thc ca bi ton l s nh n v s cnh m ca th. Khi phc tp tnh ton ca thut ton s c biu din nh l hm ca hai bin s f(n,m) l s php ton nhiu nht cn phi thc hin theo thut ton i vi mi th n nh v m cnh. Khi so snh tc tng ca hai hm nhn gi tr khng m f(n) v g(n) chng ta s s dng k hiu sau: f(n)=O(g(n)) cc hng s C, N 0 sao chof(n) C g(n) vi mi nN. Tng t nh vy nu f(n1, n2,. . .,nk), g(n1, n2,. . .,nk) l cc hm nhiu bin ta vit f(n1, n2,. . .,nk) = O(g(n1, n2,. . .,nk)) f(n1, n2,. . .,nk)C g(n1, n2,. . .,nk) vi mi n1, n2,. . .,nkN. NuphctptnhtoncathuttonlO(g(n))thtascnnil nihithigian tnh c O(g(n)). 2.1. Tm kim theo chiu su trn th tng chnh ca thut ton c th trnh by nh sau. Ta s bt u tm kim t mt nh v0 no ca th. Sau chn u l mt nh tu k vi v0 v lp li qu trnh i vi u. bc tng qut, gi s ta ang xt nh v. Nu nh trong s cc nh k vi v tm c nh w l cha c xt th ta s xt nh ny (n s tr thnh xt) v bt u t n ta s bt u qu trnh tm kim cn nu nh khng cn nh no k vi v l cha xt th ta ni rng nh ny duyt xong v quay tr li tip tc tm kim t nh m trc ta n c nh v (nuv=v0,thktthctmkim).Cthninmnaltmkimtheochiusubtut 18 nh v c thc hin trn c s tm kim theo chiu su t tt c cc nh cha xt k vi v. Qu trnh ny c th m t bi th tc qui sau y: Procedure DFS(v);(*tim kiem theo chieu sau bat dau tu dinh v; cac bien Chuaxet, Ke la bien toan cuc*) Begin Tham_dinh(v); Chuaxet[v]:=false; If Chuaxet[u] then DFS(u); End; (*dinh v da duyet xong*)

Khi , tm kim theo chiu su trn th c thc hin nh thut ton sau: Begin (*Initialization*) for v eV do Chuaxet[v]:=true; for v e V do if Chuaxet[v] then DFS(v);End. RrnglnhgiSFS(v)schophpnthmttcccnhthuccngthnhphnlin thng vi nh v, bi v sau khi thm nh l lnh gi n th tc DFS i vi tt c cc nh k vi n. Mt khc, do mi khi thm nh v xong, bi?n Chuaxet[v] c t li gi tr false nnminhscthmngmtln.Thuttonlnltstinhnhtmkimtcc nh cha c thm, v vy, n s xt qua tt c cc nh ca th (khng nht thit phi l lin thng). nh gi phc tp tnh ton ca th tc, trc ht nhn thy rng s php ton cn thc hintronghaichutrnhcathutton(haivngforchngtrnhchnh)lcn.Thtc DFS phi thc hin khng qu n ln. Tng s php ton cn pha thc hin trong cc th tc ny l O(n+m), do trong cc th tc ny ta phi xt qua tt c cc cnh v cc nh ca th. Vy phc tp tnh ton ca thut ton l O(n+m). Thd1.Xtthchotronghnh1gm13nh,ccnhcnhst1n13nh sau: 19 Hnh 1 Khiccnhcathcnhslitheothtchngcthmtheothtctm kim theo chiu su m t trn nh hnh 2. Gi thit rng cc nh trong danh sch k ca nh v (Ke(v)) c sp xp theo th t tng dn ca ch s. Hnh2.Chsmi(trongngoc)caccnhcnhlitheothtchngcthm trong thut ton tm kim theo chiu su. Thut ton tm kim theo chiu su trn th v hng trnh by trn d dng c th m t li cho th c hng. Trong trng hp th c hng, th tc DFS(v) s cho php thm ttcccnhunomtvcnginu.phctptnhtoncahtuttonl O(n+m). 20 2.2. Tm kim theo chiu rng trn th rng trong thut ton tm kim theo chiu su nh c thm cng mun s cng sm tr thnh duyt xong. iu l h qu ttyu ca vic cc nh c thm s c kt npvotrongngnxp(STACK).Tmkimtheochiurngtrnth,nunimtcch ngn gn, c xy dng trn c s thay th ngn xp (STACK) bi hng i (QUEUE). Vi s ci bin nh vy, nh c thm cng sm s cng sm tr thnh duyt xong (tc l cng sm di khi hng i). Mt nh s tr thnh duyt xong ngay sau khi ta xt xong tt c cc nh k (cha c thm) vi n. Th tc c th m t nh sau: Procedure BFS(v); (*Tim kiem theo chieu rong bat dau tu dinh v, cac bien Chuaxet, Ke la bien cuc bo*) begin Chuaxet[v]:=false; Begin Tham_dinh(p); If Chuaxet[u] them Begin Chuaxet[u]:=false; End; End; end;

Khi , tm kim theo chiu rng trn th c thc hin nh thut ton sau: Begin (*Initialization*) if Chuaxet[v] then BFS(v); End. 21 Lp lun tng t nh trong th tc tm kim theo chiu su, c th ch ra c rng lnh gi BFS(v) s cho php thm n tt c cc nh thuc cng thnh phn lin thng vi nh v, v minhcathscthmngmtln.phctptnhtoncathuttonl O(m+n). Thd2.Xtth xt tronghnh1.Thtthmnhca th theothuttontmkim theo chiu rng c ghi trong ngoc. Hnh3.Chsmi(trongngoc)caccnhcnhlitheothtchngcthm trong thut ton tm kim theo chiu su. 2.3. Tm ng v km tra tnh lin thng Trong mc ny ta xt ng dng cc thut ton tm kim m t trong cc mc trc vo vic giibitoncbntrnth:bitonvtmngivbitonvxcnhtnhlin thng ca th.7 a B ton tm ng ga a n:Gi s s v t l hai nh no ca th. Hy tm ng i t s n t. Nhtrnphntch,thtcDFS(s)(BS(s))schothmttcccnhthuccngmt thnh phn lin thng vi s. v vy, sau khi thc hin xong th tc, nuChuaxet[t]=true, th iu c ngha l khngc ng i t s n t, cn nu Chuaxet[t]=false th t thuc cng thnh phn lin thng vi s, hay ni mt cch khc: tn ti ng i t s n t. Trong trng hp tn ti ng i, ghi nhn ng i, ta dng thm biu thc Truoc[v] ghi nhn nh 22 i trc nh v trong ng i tm kim t s n v. Khi , i vi th tc DFS(v) cn sa i cu lnh trong n nh sau: If Chuaxet[u] then Begin Truoc[u]:=v; DFS(u); End; Cn i vi th tc BFS(v) cn sa i cu ln if trong n nh sau: If Chuaxet [u] then Begin Chuaxet[u]:=false; Truoc[u]:=p; End; Ch : ng i tm c theo thut ton tm kim theo chiu rng l ng i ngn nht (theo s cnh) t s n t. iu ny suy trc tip t th t thm nh theo thut ton tm kim theo chiu rng. b Tm cc tn pn ln tng ca t: Hy cho bit th gm bao nhiu thnh phn lin thng v tng thnh phn lin thng ca n l gm nhng nh no. DothtcDFS(v)(BFS(s))chophpthmttcccnhthuccngmtthnhphnlin thng vi s, nn s thnh phn lin thng ca th bng s ln gi n th tc ny. Vn cnlilcchghinhnccnhtrongtngthnhphnlinthng.Tadngthmbin Index[v]ghinhnchscathnhphnlinthngchanhv,vdngthmbin Inconnectmsthnhphnlinthng(binnycnkhitogitr0).Thtc Tham_dinh(v) trong cc th tc DFS(v) v BFS(v) c nhim v gn: Index[v]:=connect, cn cu ln if trong cc chng trnh chnh gi n cc th tc ny cn c sa li nh sau: Inconnect:=0; If Chuaxet[v] then Begin Inconnect:=Inconnect+1; DFS(v); (*BFS(v)*) End; 23 Kt thc vng lp th hai trong chng trnh chnh,Inconnect cho s thnh phn lin thng phn lin thng. Chng trnh PASCAL gii bi ton trn c th vit nh sau: uses crt; var a:array[1..20,1..20] fo byte; QUEUE, Chuaxet, Truoc: array[1..20] of byte; i,j,n,solt,k,s,t: integer; Stop: boolean; Ch: char; Procedure Nhapsolieu; Begin Write(Cho so dinh cua do thi:); readln(n); Writeln(Nhap so lieu ma tran ke:); For i:= 1 to n do Begin For j:= i+1 to n do Begin Write(a[,i,,,j,]=); readln(a[i,j]); End; a[i,j}:=0; writeln; End; End; {===========================} Procedure readfile; Var f:text; fn:string; Begin Write( Cho ten file du lieu:); readln (fn); 24 Assign(fnfn); reset(f); readln(f,n); Writeln(Nhap so lieu ma tran ke:); For i:= 1 to n do For j:=1 to n do read(f, a[i,j}); Close(f); End; {===========================} Procedure Insolieu; Begin Writeln(Ma tran ke:); For i:= 1 to n do Begin For j:=1 to n do write(a[i,j]:3); Writeln; End; End; {===============================} Procedure Ketqualienthon; Begin Insolieu; If solt=1 then writeln(Do thi la lien thong) Else Begin Wriyeln(Thanh phan lien thon thu ,i, gom cac dinh:); For j:=1 to n do if Chuaxet[j]=i then write(j:3); writeln; End; Write(Go Enter de tiep tuc#7); readln; End; {========================================} Procedure BFS(i:integer); (*tim kiem theo chieu rong bat dau tu dinh i*); var u, dauQ, CuoiQ,: integer; 25 begin dauQ=1; cuoiQ:=1; QUEUE[cuoiQ]:=i; Chuaxet[i]:=Solt; While dauQ c(G)=3. be c a f g d a be cf d g 31 - th H bin i t th G thng qua vic ni 2 nh a v g. L lun tng t nh trn, ta thy H phi t ti thiu bng 3 mu. Khi c gng t H bng 3 mu ta phi thng qua cc l lun tng t nh G khi t mu tt c cc nh tr g. Cui cng, g s lin k vi cc nh c c 3 mu , vng, xanh, v ta buc phi s dng thm mu th 4 (mu nu) t mu n. Tm li, c(H)=4 (Xem H4).

G H H4: T mu cc th G v H: : X: xanhV: vng N: nu.

b. V d 2: Tm s mu ca th y Kn? Li gii : Ta c th t mu n nh ca Kn bng n mu ring bit. Liu c cch t no tit kim mu hn khng? Cu tr li l khng. H5. T mu K5.H6. T mu K3,4. : X: xanh V: vngN: nuH: hng. ab c d e abc def X XXX V H N be cf g d be cf g d

a

a X X X X V V V V N gX 32 Tht vy, khng c 2 nh no c th t cng mu v mi nh u k nhau. Vy, ta c c(Kn) = n (Ch : Kn khng phi th phng khi n 5, do kt qu ny khng vi phm nh l 4 mu).H5 cho ta v d v vic t mu K5. c. V d 3: Tm s mu ca th 2 pha y Km,n, vi m v n l 2 s nguyn dng ? Li gii:S mu ca th c v nh ph thuc vo m v n. Nhng thc t, ch cn 2 mu l : T mu tp hp m nh vi cng 1 mu, v tp hp n nh kia t bng mu th 2. Domicnhchni1nhthuctphpthnhtvi1nhthuctphp2nns khng c 2 nh k nhau no cng mu. H6 cho ta v d v vic t mu K3,4. Mith2phanuc2hoc1mu,vicngllunnhtrongvd3. Ngc lai, ta d dng chng minh c mi th 2 mu u l th 2 pha. d.V d 4: Tm s mu ca th vng Cn ? Li gii : Do2nhknhaukhcmunnsmucath(vin>1)tithiul2.Xt2 trng hp: - Nu n chn: Ta ch cn s dng 2 mu. xy dng php t mu, chn 1 nh bt k v t mu . Sau , dc theo chiu kim ng h (trong cch biu din phng ca th),ta t nh 2 mu xanh, nh 3 mu , nh 4 mu li mu xanhNh vy cc nh c s th t chn c t mu xanh, l c t mu . nh th n (s th t chn) c th t mu xanh, v 2 nh k n-tc nh 1 v nh th n-1 (s th t l) u t mu . - Nu n l v n>1:S mu ca th l 3. Tht vy, u tin chn 1 nh xut pht v t mu . Nu ch cn 2 mu, khi i dc chiu kim ng h, cc mu phi xut hin lun phin. Nh vy, cc nh c s th t (< n) chn c t mu xanh, l c t mu . Tuy nhin,nh th n nm k nh 1 v nh th n-1(s th t chn),tc 2 nh khc mu. Do , mu th 3 buc phi s dng. H7 th hin li gii bi ton trong trng hp n = 6 v n = 5. 33 C6 C5 H7. T mu C5 v C6. : X: xanhV: vng 2.4.5. Thut ton Thut ton ti u c bit n tm ra s mu th c phc tp trong trng hp ti nht l O(en). Nhn chung vic i tm mt li gii xp x cho bi ton t mu th l rt kh. Ngitachrarngnuc1thuttoncphctphmathccthxp xc c(g) theo h s 2 (tc xy dng c gii hn ca 2.c(G)),th thut ton c phc tp hm a thc tm c(G) l tn ti. Bi tp Bi 1: Vit chng trnh nhp vo mt th t file input.txt c cu trc nh sau: Dng 1: S nh Cc dng tip theo ng vi ma trn k tng ng ca th. Yu cu: Duyt th theo chiu rng s dng thut ton BFS. Bi 2: Vit chng trnh nhp vo mt th t file input.txt c cu trc nh sau: Dng 1: S nh Cc dng tip theo ng vi ma trn k tng ng ca th. Yu cu: Duyt th theo chiu su s dng thut ton DFS. Bi 3: Vit chng trnh nhp vo mt th t file input.txt c cu trc nh sau: Dng 1: S nh Cc dng tip theo ng vi ma trn k tng ng ca th. Yu cu: m s thnh phn lin thng trong th. Bi 4: Vit chng trnh nhp vo mt th t file input.txt c cu trc nh sau: Dng 1: S nh Cc dng tip theo ng vi ma trn k tng ng ca th. e ab c d f ab c d e X X X X X V 34 Yu cu: Tm ng i t 1 nh X n nh Y vi X,Y c nhp t bn phm. CHNG 3: TH EULER V TH HAMINTON 3.1. th Euler Trong chng ny chng ra s nghin cu hai dng th c bit l th Euler v thHamilton.Diy,nukhngcgiithchbsung,thutngthcdng ch chung a th v hng v c hng, v thut ng cnh s dng ch chung cnh ca th v hng cng nh cung ca th c hng. 3.1.1. Khi nim v ng v cu trn Euler nh ngha 1. Chu trnh n trong th G i qua mi cnh ca n mt ln c gi l chu trnh Euler. ng i n trong G i qua mi cnh ca n mt ln c gi l ng i Euler. th c gi l th Euler nu n c chu trnh Euler, v gi l th na Euler nu n c ng i Euler. R rng mi th Euler lun l na Euler, nhng iu ngc li khng lun ng. Th d 1. th G1 trong hnh 1 l th Euler v n c chu trnh Euler a, e, c, d, e, b, a. th G3 khng c chu trnh Euler nhng n c ng i Euler a, c, d, e, b, d, a, b, v th G3 l th ca Euler. th G2 khng c chu trnh cng nh ng i Euler. Hnh 1. th G1, G2, G3 Th d 2. th H2 trong hnh 2 l th Euler v n c chu trnh Euler a, b, c, d, e, a. th H3 khng c chu trnh Euler nhng n c ng i Euler c, a, b, c, d, b v th H3 l th na Euler. th H1 khng c chu trnh cng nh ng i Euler. Hnh 2. th H1, H2, H3 35 iu kin cn v mt th l mt th Euler c Euler tm ra vo nm 1736 khinggiiquytbitonhcbanitingthgiithivbycicuthnhph Konigsberg v y l nh l u tin ca l thuyt th. 3.1.2. u kin tn t ng oc chu trnh Euler nh l 1 (Euler). th v hng lin thng G l th Euler khi v ch khi mi nh ca G u c bc chn. chng minh nh l trc ht ta chng minh b : B . Nu bc ca mi nh ca th G khng nh hn 2 th G cha chu trnh. Chng minh. Nu G c cnh lp th khng nh ca b l hin nhin. V vy gi s G l n th. Gi v l mt nh no ca G. Ta s xy dng theo qui np ng i v . . . trong v1 l nh k vi v, cn vi i1 chn vi+1 # vi-l (c th chn vi+1 nh vylvdeg(vi)2).DotpnhcaGlhuhn,nnsaumtshuhnbctaphi quaylimtnhxuthintrc.Ginhutinnhthlvk.Khi,onca ng i xy dng nm gia hai nh vk l 1 chu trnh cn tm. Chng minh nh l: Cn. Gi s G l th Euler tc l tn ti chu trnh Euler P trong G. Khi c mi ln chu trnh P i qua mt nh no ca G bc ca nh tng ln 2. mt khc mi cnh ca th xut hin trong P ng mt ln, suy ra mi nh ca th iu c bc chn. . Quy np theo s nh v s cnh ca G. Do G lin thng v deg(v) l s chn nn bc ca mi nh ca n khng nh hn 2. T theo b G phi cha chu trnh C. Nu C i qua tt c cc cnh ca G th n chnh l chu trnh Euler. Gi s C khng i qua tt c cc cnh ca G. Khi loi b khi G tt c cc cnh thuc C ta thu c mt th mi H vn c bc l chn. Theo gi thit qui np, trong mi thnh phn lin thng ca H iu tm c chu trnh Euler. Do G l lin thng nn trong mi thnh phn ca H c t nht mt nh chung vi chu trnh C. V vy, ta c th xy dng chu trnh Euler trong G nh sau: bt u t mt nh no ca chu trnh C, i theo cc cnh ca C chng no cha gp phi nh khng c lp ca H. Nu gp phi nh nh vy ta s i theo chu trnh Euler ca thnh phn lin thng ca H cha nh . Sau li tip tc i theo cnh ca C cho n khi gp phi nh khng c lp ca H th li theo chu trnh Euler ca thnh phn lin thng tng ng trong Hv.v (xem hnh 3). Qu trnh s kt thc khi ta tr v nh xut pht, tc l thu c chu trnh i qua mi cnh ca th ng mt ln. 36 Hnh 3. Minh ho cho chng minh nh l 1. H qu 2. th v hng lin thng G l na Euler khi v ch khi n c khng qu 2 nh bc l. Chng minh. Thc vy, nu G c khng qu 2 nh bc l th s nh bc l ca n ch c th l 0 hoc 2. Nu G khng c nh bc l th theo nh l 1, n l th Euler. Gi s G c 2 nh bc l l u v v. Gi H l th thu c t G bng cch thm vo G mt nh mi w v hai cnh (w,u) v(w,v). Khi tt c cc nh ca H iu c bc chn, v th theo nh l 1, ncchutrnhEulerC.Xobkhichutrnhnynhwvhaicnhkntathuc ng i Euler trong th G. Gi s G l th Euler, t chng minh nh l ta c th tc sau tm chu trnh Euler trong G. 3.1.3. Thut ton tm ng v cu trn Euler Procedure Euler_Cycle; Begin Chon u la mot dinh nao do cua do thi; Begin X:=top(STACK); (* x la phan tu dau STACK) Begin Y:=dinh dau tien trong danh sach Ke(x); (* loai bo canh (x,y) khoi do thi *) Ke(x):=Ke(x)\Ke(y):=Ke(y)\EndElse Begin 37 End; End; End; 3.1.4. Mt s vn khc v ng v cu trn Euler GisGlthEuler,thuttonnginsauychophpxcnhchutrnh Euler khi lm bng tay. Thut ton Flor Xut pht t mt nh u no ca G ta i theo cc cnh ca n mt cch tu ch cn tun th 2 qui tc sau: (1) Xo b cnh i qua ng thi xo b c nhng nh c lp to thnh. (2) mi bc ta ch i qua cu khi khng cn cch la chon no khc. Chng minh tnh ng n ca thut ton.Trc tin ta ch ra rng th tc trn c th thc hin mi bc. Gi s ta i n mt nh v no , khi nu v # u th th con cn li H l lin thng v cha ng hai nh bc l l v v u. Theo h qu trong H c ng i Euler P t v ti u. Do vic xo b cnh u tin ca ng i P khng lm mt tnh lin thng ca H, t suy ra th tc c th thc hin mi bc. Nu v = u th lp lun trn s vn ng chng no vn cn cnh k vi u. NhvychcnphichrathtctrndnnngiEuler.ThcvytrongG khng th cn cnh cha i qua khi m ta s dng cnh cui cng k vi u (trong trng hp ngc li, vic loi b mt cnh no k vi mt trong s nhng cnh cn li cha i qua s dn n mt th khng lin thng, v iu l mu thun vi gi thit ii). Chngminhtngtnhtrongnhl1tathucktqusauychothc hng. nh l 2. th c hng lin thng mnh l th Euler khi v ch khi Deg+(v)=deg- e V. 3.2. th Haminton Trong mc ny chng ta xt bi ton tng t nh trong mc trc ch khc l ta quan tmnngiquattcccnhcath,minhngmtln.Sthayitng chngnhlkhngngknytrnthctdnnsphctphovncngii quyt. 38 3.2.1. Khi nim v ng v cu trn Hamnton nh ngha 2. ng i qua tt c cc nh ca th mi nh ng mt ln c gi l ng i Hamilton. Chu trnh bt u t mt nh v no qua tt c cc nh cn li mi nh ng mt ln ri quay tr v v c gi l chu trnh Hamilton. th G c gi l th Hamilton nu n cha chu trnh Hamilton v gi l th na Hamilton nu n c ng i Hamilton. R rng th Hamilton l na Hamilton, nhng iu ngc li khng cn ng. Th d 3. Trong hnh 4: G3 l Hamilton, G2 l na Hamilton cn G1 khng l na Hamilton. Hnh 4. th Hamilton G3, na Hamilton G2, v G1. Cho n nay vic tm mt tiu chun nhn bit th Hamilton vn cn l m, mc d y l mt vn trung tm ca l thuyt th. Hn th na, cho n nay cng cha c thut tonhiuqukimtramtthclHamiltonhaykhng.Ccktquthucphn ln l iu kin mt th l th Hamilton. Phn ln chng iu c dng "nu G c s cnh ln th G l Hamilton". Mt kt qu nh vy c pht biu trong nh l sau y. 3.2.2. u kin tn t ng oc chu trnh Haminton (Dirak 1952). n th v hng G vi n>2 nh, mi nh c bc khng nh hn n/2 l th Hamilton. Chng minh:Thm vo th G k nh mi v ni chng vi tt c cc nh ca G. gi s k l s nhnhtccnhcnthmvochoththucGlthHamilton.Taschra rng k=0. Thc vy,gis ngc li l k>0. K hiu v, p, w, . . ., v lchu trnh Hamilton trong G, trong v, w l nh ca G cn p l mt trong s cc nh mi. Khi w khng k vivvnungcli,takhngcnsdngpviulmuthunvigithitknh nht.Hnthnanh(wchnghn)kviwkhngthilinsaunhv(kviv)v rng khi c th thay bng cch o ngc on ca chu trnh nm gia w v v. T suy ra l s nh ca th Gkhngkviwlkhngnhhnsnhkviv(tcltnhtcnglbngn/2+k), 39 ng thi s nh ca G k vi w t ra l phi bng n/2+k. Do khng c nh no ca G va khng k, li va k vi w, cho nn tng s nh ca th G (G c n+k nh) khng t hn n+2k. Mu thun thu c chng minh nh l. nh l sau l tng qut ho ca nh l Dirak cho th c hng: n l 4.Gi s G l c hng lin thng vi n nh. Nudeg+ (v)n/2, deg C mt s dng th m ta c th bit khi no l th Hamilton. Mt v d nh vy l th u loi. th u loi l th c hng m trong hai nh bt k ca n c ni vi nhau bi ng mt cung. Tn u loi xut hin nh vy v th nh vy c th dng biudinktquthiubngchuyn,bngbnhaybtcmttrchinomkhng cho php ho. Ta c nh l sau: n l 5.i) Mi th u loi l na Hamilton. ii) Mi th u loi lin thng mnh l Hamilton. Th d 4. th u loi D5, D6 c cho trong hnh 5. Hnh 5. th u loi D5, u loi lin thng mnh D6 3.2.3. Thut ton tm ng v cu trn Hamnton Thut ton sau y c xy dng da trn c s thut ton quay lui cho php lit k tt c cc chu trnh Hamilton ca th. Procedure Hamilton(k); (*lietkecacchutrinhHamiltonthuduocbangviecphattriendaydinh (X[1],. . . , X[k-*) begin -1]) do if (k =N+1) and (y=v0) then Ghinhan(X[1],. . . , X[n], v0) 40 else if Chuaxet[y] then begin X[k]:=y; Chuaxet[y]:=false; Hamilton(k+1); Chuaxet[y]:=true; end; end; (* Main program*) begin X[1]:=0; (* v0 la mot dinh nao do cua do thi *) Chuaxet[v0]:=false; Hamilton(2); end.

Th d 5. Hnh 6 di y m t cy tm kim theo thut ton va m t. Hnh 6. th v cy lit k chu trnh Hamilton ca n theo thut ton quay lui Trongtrnghpthckhngqunhiucnhthuttontrncthsdng kim tra th c phi l Hamilton hay khng. Bi tp 1. Vi gi tr no ca n cc th sau y c chu trnh Euler ? Kn,b) Cn,c) Wn, d) Qn. 2. Vi gi tr no ca m v n cc th phn i y Km,n c: a) chu trnh Euler ?b) ng i Euler ? 3. Vi gi tr no ca m v n cc th phn i y Km,n c chu trnh Hamilton ? 4.ChngminhrngthlpphngQnlmtthHamilton.Vcylitkttccc chu trnh Hamilton ca th lp phng Q3. 41 5. Trong mt cuc hp c 15 ngi mi ngy ngi vi nhau quanh mt bn trn mt ln. Hi c bao nhiu cch sp xp sao cho mi ln ngi hp, mi ngi c hai ngi bn cnh l bn mi, v sp xp nh th no ? 6. Hiu trng mi 2n (n > 2) sinh vin gii n d tic. Mi sinh vin gii quen t nht n sinh vingiikhcndtic.Chngminhrnglunluncthxpttcccsinhvingii ngi xung quanh mt bn trn, mi ngi ngi gia hai ngi m sinh vin quen. 7. Mt ng vua xy dng mt lu i ct bu vt. Ngi ta tm thy s ca lu i (hnh sau) vi li dn: mun tm bu vt, ch cn t mt trong cc phng bn ngoi cng (s 1, 2, 6, 10, ...), i qua tt c cc ca phng, mi ca ch mt ln; bu vt cgiu sau ca cui cng.Hy tm ni giu bu vt 8. th cho trong hnh sau gi l th Peterson P. 21 3 4 56 7 8 9 10 11121314 15 161718 1920 21 a e ki bg f h dc a) Tm mt ng i Hamilton trong P. b)ChngminhrngP\{v},vivlmt nh bt k ca P, l mt th Hamilton. 42 9. Chng minh rng th G cho tronghnh sau c ng i Hamilton (t s n r) nhng khng c chu trnh Hamilton. 10. Cho th d v: 1) th c mt chu trnh va l chu trnh Euler va l chu trnh Hamilton; 2)thcmtchutrnhEulervmtchutrnhHamilton,nhnghaichutrnhkhng trng nhau; 3) th c 6 nh, l th Hamilton, nhng khng phi l th Euler; 4) th c 6 nh, l th Euler, nhng khng phi l th Hamilton. 11. Chng minh rng con m khng th i qua tt c cc ca mt bn c c 4 x 4 hoc 5 x 5 vung, mi ch mt ln, ri tr v ch c. a c b s r f e d g h 43 CHNG 4. CY KHUNG CA TH 4.1. Khi nim v cc tnh cht ca cy khung thvhnglinthngkhngcchutrnhgilcy.Khinimcylnutinc Cayley a ra vo nm 1857, khi ng s dng chng m mt dng cu trc phn t ca cchpchthohctronghohchuc.Cycncsdngrngritrongrtnhiu lnhvckhcnhau,cbittrongtinhc,cycsdngxydngccthuttont chc cc th mc, cc thut ton ct gi, truyn d liu v tm kim nh ngha1.Ta gi cy l th v hng lin thng khng c chu trnh. th khng c chu trnh c gi l rng. Nh vy, rng l th m mi thnh phn lin thng ca n l mt cy. Th d 1. Trong hnh 1 l mt rng gm 3 cy T1, T2, T3. Hnh 1. Rng gm 3 cy T1, T2, T3. C th ni cy l th v hng n gin nht. nh l sau y cho ta mt s tnh cht ca cy. nh l 1. Gi s G=(V,E) l th v hng n nh. Khi cc mnh sau y l tng ng: (1) T l cy; (2) T khng cha chu trnh v c n-1 cnh; (3) T lin thng v c n-1 cnh; (4) T lin thng v mi cnh ca n iu l cu; (5) Hai nh bt k ca T c ni vi nhau bi ng mt ng i n; (6) T khng cha chu trnh nhng h c thm vo mt cnh ta thu c ng mt chu trnh. Chng minh. Ta s chng minh nh l theo s sau: nh n cho khng nh: S cnh ca cy vi n nh l n-1. R rng khng nh ng vi n=1. 44 Gi s n>1. Trc ht nhn rng trong mi cy T c n nh u tm c t nht mt nh l nhtreo(tclnhcbcl1).Thcvy,giv1,v2,...,vklngidinht(theo scnh) trong T. Khi r rng v1 v vk l cc nh treo, v t v1 (vk) khng c cnh ni vi bt c nh no trong s cc nh v2, v3, . . .,vk (do th khng cha chu trnh), cng nh vi bt c nh no khc ca th (do ng i ang xt di nht). Loi b v1 v cnh (v1, v2) khi T ta thu c cy T1 vi n-1 nh, m theo gi thit qui np c n-2 cnh. Vy cy T c n-2+1 = n-1 cnh. thnh k2 phn lin thng T1, T2,. . . Tk. Do T khng cha chu trnh nn mi Ti (i=1,2,. . .,k) cng khng cha chu trnh, v th mi Ti l cy. Do nu gi n(Ti) v e(Ti) theo th t l s nh v cnh ca Ti, ta c: e(Ti) = n(Ti) 1, i= 1, 2, . . ., k, suy ra n-1 = e(T) = e(T1) + . . . + e(Tk) = n(T1) + . . . n(Tk) k = n(T) k < n-1 Mu thun thu c chng t l T lin thng. -2 cnh r rng l th khng lin thng. Vy mi cnh trong T u l cu. n. Nu c cp nh no ca T c hai ng i n khc nhau ni chng, th t suy ra th cha chu trnh, v v th cc cnh trn chu trnh ny khng phi l cu. nh ca T c ni vi nhau bi hai ng i n. By gi, nu thm vo T mt cnh e ni hai nh u v v no ca T. Khi cnh ny cng vi ng i n ni u vi v s to thnh chu trnh trong T. Chu trnh thu c ny l duy nht, v nu thu c nhiu hn mt chu trnh th suy ra trong T trc phi c sn chu trnh. nu thm vo T mt cnh ni hai nh thuc hai thnh phn lin thng khc nhau ta khng thu c thm mt chu trnh no c. iu mu thun vi gi thit (6). nh l c chng minh. 4.2. Cy khung ca th nh ngha 2. th G v cy khung ca n c cho trong hnh 2 45 Hnh 2. th v cc cy khung ca n nh l sau y cho bit s lng cy khung ca th y Kn: nh l 2 (Cayley). S lng cy khung ca th Kn l nn-2. nh l 2 cho thy s lng cy khung ca th l mt s rt ln. By gi ta xt p dng ca thut ton tm kim theo chiu su v theo chiu rng trn th xy dng cy khung ca thvhnglinthng.Trongchaitrnghpmikhitancnhmiu(tc Chuaxet[u]=true)tnhvthcnh(v,u)scktnpvocykhung.Haithutton tng ng c trnh by trong hai th tc sau y. Procedure stree_DFS(v); (* tim kiem theo chieu sau ap dung vao tim tap canh cua cay khung T cua do thi vo huong lien thong G cho boi danh sach ke. Cac bien Chuaxet, Ke, T la toan cuc*) begin Chuaxet[v]:=false; For u Ke(v) do If Chuaxet[u] then Begin T:=T (u,v); STREE_DFS(u); End; end; (* Main Program *) begin 46 (* Initialition *) for uV do Chuaxet[u]:=true; T := ; (* T la tap canh cua cay khung *) STREE_DFS(root); ( root la dinh nao do cua do thi *) end.

Procedure Stree_BFS(v); (* tim kiem theo chieu rong ap dung tim tap canh cua cau khung T cua do thi vo huong lien thong G cho boi danh sach Ke *) begin Queue:= ; Queue r; Chuaxet[r]:=false; While queue do Begin V queue; For r Ke(v) do If Chuaxet[u] then Begin Queue u; Chuaxet[u]:=false; T:= T (u,v); End; End; 47 end; (* Main Program *); begin for u V do Chuaxet[u]:=true; T := ; (* T la tap canh cua cay khung *) Stree_BFS(root); (* root la mot dinh tuy y cua do thi *) end. Ch : 1. Lp lun tng t nh trong phn trc c th ch ra c rng cc thut ton m t trn c phc tp tnh ton O(m+n). 2. Cy khung tm c theo th tc Stree_BFS() l cy ng i ngn nht t gc r n tt c cc nh cn li ca th. 4.3. Xy dng cc tp cu trn c bn ca th Bi ton xy dng cy khung ca th lin quan cht ch n mt s bi ton ng dng khc ca l thuyt th: bi ton xy dng tp cc chu trnh c bn ca th m ta s xt trong mc ny. Gi s G=(V,E) l n th v hng lin thng,H=(V,T) l cy khung ca n. Cccnh caththuccykhungtasgilcccnhtrong,cncccnhcnlisgilcnh ngoi. n nga 3. \T vo cy khung H chng ta s thu c ng mt chu trnh trong H, k hiu chu trnh ny l Ce. Tp cc chu trnh \c gi l tp cc chu trnh c bn ca th G. Gi s A v B l hai tp hp, ta a vo php ton sau \ Tn gi chu trnh c bn gn lin vi s kin l mi chu trnh ca th u c th thu c t cc chu trnh c bn nh ch ra trong nh l sau y: n l 3.Gi s G=(V,E) l th v hng lin thng, H=(V,T) l cy khung ca n. Khi mi chu trnh ca th G iu c th biu din nh l hiu i xng ca mt s cc chu trnh c bn. 48 Vic tm tp hp chu trnh c bn gi mt vai tr quan trng trong vn gii tch mng in. C th hn, theo mi chu trnh c bn ca th tng ng vi mng in cn phn tch ta s thitlpcmtphngtrnhtuyntnhtheonhlutKirchoff:tnghiuinthdc theo mt mch vng l bng khng. H thng phng trnh tuyn tnh thu c cho php tnh ton hiu in th trn mi ng dy ca li in. Ta s xy dng thut ton xy dng cc chu trnh c bn da trn th tc tm kim theo chiu su trn th. Thut ton c cu trc tng t nh thut ton xy dng cy khung theo th tc tm kim theo chiu su m t trong mc trc. Tut ton xy dng tp cc cu trn c bn. Procedure Cycle(v);(* tim kiem cac chu trinh co ban cua thanh phan lien thong chua dinh v; cac bien d, num , stack, index la bien toan cuc *) begin d:=d+1; stack[d]:=v; num:=num+1;index[v]:=num; if index[u]=0 then cycle(u) else if (u stack[d-1]) and (index[v]>index[u]) then d:=d-1; end; (* Main Program *) begin num:=0; d:=0; stack[0]:=0; if Index[v]=0 then cycle(v); end.Ch 49 4.4. Cy khung nh nht ca th Bi ton cy khung nh nht ca th l mt trong s nhng bi ton ti u trn th tm cngdngtrongnhiulnhvckhcnhaucaisng.Trongmcnychngtatrnh by nhng thut ton c bn gii bi ton no. Trc ht chng ta pht biu ni dung bi ton. Cho G=(V,E) l m cnh. Mi cnh E ca th G c gn vi mt s khng m c(e), gi l di ca n. Gi s H=(V,T) l cy khung ca th G. Ta gi di c(H) ca cy khung H l tng di cc cnh ca n:

Bi ton t ra l trong tt c cy khung ca th G hy tm cy khung vi di nh nht. Cy khung nh vy nh vy c gi l cy khung nh nht ca th v bi ton t ra c gi l bi ton cy khung nh nht. minh ho cho nhng ng dng bi ton cy khung nh nht, di y, ta pht biu hai m hnh thc t tiu biu ca n. Bi ton xy dng h thng ng st. Gi s ta mun xy dng mt h thng ng st ninthnhphsaochohnhkhchcthitbtkmtthnhphnonbtkmt trong cc thnh ph cn li. Mt khc trn quan im kinh t i hi l chi ph xy dng h thng ng phi nh nht. R rng th m nh l cc thnh ph cn cc cnh l cc tuyn ngstniccthnhphtngngviphngnxydngtiuphilcy.Vvy, bitontradnvbitontmcykhungnhnhttrnthynnh,minh tng ng vi mt thnh ph, vi di trn cc cc cnh chnh l chi ph xy dng ng ray ni hai thnh ph tngng (ch l trongbi ton ny tagi thitl khng xydng tuyn ng st c cc nh ga phn tuyn nm ngoi cc thnh ph). Bi ton ni mng my tnh. Cn ni mng mt h thng gm n my tnh nh s t 1 n n. Bit chi ph ni my i vi my j l c[i,j], i,j = 1, 2, . . . ,n ( thng thng chi ph ny ph thuc vo di cp ni cn s dng). Hy tm cch ni mng sao cho tng chi ph ni mng l nh nht. gii bi ton cy khung nh nht, tt nhin c th lit k tt c cc cy khung ca th v chn trong s cy khung y cy khung nh nht. Phng php nh vy, trong trng hp thy,sihithigiancnn-2,vrrngkhngththchincngaycvi nhng th vi s nh c hng chc. Rt may l i vi bi ton cy khung nh nht chng 50 tacnhngthuttonrthiuqugiichng.Chngtaxthaitrongsnhngthut ton nh vy: Thut ton Kruskal v Thut ton Prim. 4.4.1. Thut ton Kruskal Thut ton s xy dngtp cnh T cacy khung nh nht H=(V,T) theo tng bc. Trc mibctaslnltduyttrongdanhschcnhspxp,tcnhcdinhn cnh c di ln hn, tm ra cnh m vic b sung n vo tp T gm n-1 cnh. C th, thut ton c th m t nh sau: Procedure Kruskal;Begin -Begin E:=E\ End; -1) then th khng lin thng; End;

T d 3.Tm cy khung nh nht ca th cho trong hnh 3 di. c dy: (3,5) , (4,6) , (4,5) , (5,6) , (3,4) , (1,3) , (2,3) , (2,4) , (1,2) dy di tng ng ca chng 4, 8, 9, 14, 16, 17, 18, 20, 23. 51 Hnh 3. th v cy khung nh nht ba ln gp u tin ta ln lt b sung vo tp T cc cnh (3,5) , (4,6) , (4,5). R rng nu thm cnh (5,6) vo T th s to thnh 2 cnh (4,5), (4,6) c trong T chu trnh. Tnh hung tng t cng xy ra i vi cnh (3,4) l cnh tip theo ca dy. Tip theo ta b sung cnh (1,3), (2,3) vo T v thu c tp T gm 5 cnh: Chnh l tp cnh ca cy khung nh nht cn tm. Cng mn tn ng n ca tut ton. R rng th thu c theo thut ton c n-1 cnh v khng c chu trnh, v vy theo nh l 1 n l cy khung ca th G. Nh vy, ch cn phi ch ra rng T c di nh nht. Gi s tn ti cy S ca th G m c(S) < c(T). K hiu ek l cnh u tin trong dy cc cnh ca T xy dng theo thut ton va m t khng thuc S. khi th con ca G sinh bi cy S c b sung cnh ek s cha mt chu trnh C duy nht i qua ek. Do chu trnh C phi cha cnh e thuc S nhng khng thuc T nn th con thu c t S bng cch thay cnh e ca n bi cnh ek (k hiu th l S) s l cy khung. Theo cch xy dng c(ek) c(e) do c(S) c(S), ng thi s cnh chung ca S v T tng thm 1 so vi s cnh chung ca S vT.LpliqutrnhtrntngbcmttacthbiniSthnhTvtrongmibc tng di khng tng, tc l c(T) c(S). Mu thun thu c chng t T l cy khung nh nht. V vc lp trn tc n tut ton. Khi lng tnh ton nhiu nht ca thut ton chnh l bc sp xp cc cnh ca th theo th t khng gim ca di la chn cnh b sung. i vi th m cnh cn phi thchinmlogmphptonspxpcccnhcaththnhdykhnggimtheo di.Tuynhin,xydngcykhungnhnhtvin-1cnh,nichungtakhngcnphi sp th t ton b cc cnh m ch cn xt phn trn ca dy cha r < m cnh. lm vic ta c th s dng cc thtc sp xp dng Vun ng(Heap Sort). Trong th tc ny, to ng u tin ta mt c O(m) php ton, mi phn t tip theo trong ng c th tm sau thi gian O(log m). V vy, vi ci tin ny thut ton s mt thi gian c O(m+p) log m) cho vic sp xp cc cnh. Trong thc t tnh ton s p nh hn rt nhiu so vi m. Vn th hai trong vic th hin thut ton Kruskal l vic la chn cnh b sung i rng, cc cnh trong T cc bc lp trung gian s to thnh mt rng. Cnh e cn kho st stothnhchutrnhvicccnhtrongTkhivchkhichainhucanthucvo cng mt cy con ca rng ni trn. Do , nu cnh e khng to thnh chu trnh vi cc cnh 52 trongT,thnphinihaicykhcnhautrongT.vth,kimtraxemcthbsung cnhevoTtachcnkimtraxemncnihaicykhcnhautrongThaykhng.Mt trongccphngphphiuquthchinvickimtranyltasphnhochtpcc nh ca th ra thnh cc tp con khng giao nhau, mi tp xc nh bi mt cy con trong T(c hnh thnh cc bc do vic b sung cnh vo T). chng hn, i vi th trong v d 3, u tin ta c su tp con 1 nh c di tip theo l (4,6), do hai u ca n thuc vo cng mt tp con V thut ton s tip tc chn cnh tip theo kho st Nh vy, gii quyt vn th hai ny ta phi xy dng hai th tc: Kim tra xem hai u u, v ca cnh e=(u,v) c thuc vo hai tp con khc nhau hay khng, v trong trng hp cu tr li l khng nh, ni hai tp con tng ng thnh mt tp. Ch rng mi tp con trong phn hoch c th lu tr nh l mt cy c gc, v khi mi gc s c s dng lm nhn nhn bit tp con tng ng. Chng trnh trn Pascal thc hin thut ton Kruskal vi nhng nhn xt va nu c th vit nh sau: (*TMCYKHUNGNHNHTTHEOTHUTTON KRUSKAL CA TH CHO BI DANH SCH CNH *) uses crt; type arrn=array[1. .50] of integer; arrm= array[1...50] of integer; var n,m, minL:integer; Dau, cuoi, W:arrm; DauT, CuoiT, Father:arrn; Connect:boolean; Procedure Nhapdl; Vari:integer; Fanme:string; 53 F:text; Begin Write(Cho ten file du lieu:) readln(fname); Assign(f,fname); reset(f); Readln(f,n,m); For i:=1 to m do readln(f, Dau[i], Cuoi[i], W[i]); Close(f); End; Procedure Indulieu; Var i:integer; Begin Writeln(So dinh ,n,. So canh ,m); Writeln(Dinh dau Dinh cuoi Do dai); For i:=1 to m do Writeln(Dau[i]:4, Cuoi[i}:10, W[i]:12); End; Procedure Heap(First, Last:integer); Var j,k,t1,t2,t3 : integer; Begin J:=first; While (j