Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 7

Phn 3

Cy - Cy khung ngn nhEt


I / nh ngha :
Cy th hu hn , v hng , n thng , khng c chu
trnh , c Yt nhEt 2 nh .
II / TYnh chEt :
1 - nh l 1 :
Nu H cy c N nh th H c cc tYnh chEt sau y :
a) Thm vo H mt cnh n 2 nh bEt k khng kO nhau , H s xuEt
hn chu trnh .
b) Bt 1 cnh trong H th H khng n thng
c) Ga 2 nh bEt k ca H un tn t 1 ng duy nhEt ( vy H
th n)
d) H c N-1 cnh
2 - nh l 2 :
N th G n thng c N nh v N-1 cnh th G cy .
Vy cy th n thng c chu s bng 0 ( suy t cng thc e )
3 - Ghi ch :
T 1 th c thO hnh thnh nhOu cy khc nhau ( g
cc cy khung ca th ) . Trong s cc cy khung ca th , c
1 cy c to ra mt cch n gn nh sau : n 1 nh v n-1 nh
cn !
S cy khung ca 1 th y N
n-2
( N s nh )
S cy khung ca mt th c hu hn nh mt s hu hn
,nn un tm c Yt nhEt 1 cy khung c tng d nh nhEt
( nguyn bn ). Ta g cy khung ny cy khung ngn nhEt .
B ton tm cy khung ngn nhEt mt b ton gp trong
thc t :
Th d : Xy dng mng dy n tho n N thnh ph sao cho 2
thnh ph bEt k n c c v nhau v tng ng dy n ngn
nhEt . b ton tm cy khung ngn nhEt . Ngc : Xy dng
mng dy n tho n N thnh ph sao cho 2 thnh ph bEt k n
c c v nhau v tng tn cy trn cc ng dy n n
nhEt . b ton tm cy khung d nhEt .
III / Thut ton Prm tm cy khung nh nhEt :
48
B c 1 : Kh tr - LEy 1 nh tu a vo tp nh ca cy . Kh
tp nh ca cy = { }. Tp cnh ca cy C =
( Tp rng )
B c 2 : Gn nhn - V m nh k khng thuc , ta gn cho n nhn
k( ,d

) trong

tn nh thuc ,kO v k , gn k nhEt , cn d
khong cch ga

v k . Nu trong khng tm c nh

kO v k
th gn cho k nhn k( 0 , ) .
B c 3 : Kt nap - Chn nh k khng thuc tp , c nhn d nh
nhEt , kt np k vo .Vy = + { k

} . Nhn ca k

k( ,d )
th kt np cnh ( , k

) vo tp cnh C . Vy C = C + { cnh ( , k
) } . G nh k va kt np
0 .
Nu s nh ca bng N th kt thc , cn khng chuyOn
sang bc 4
B c 4 : Sa nhn - V m nh k cha thuc c nhn k( , d ) m k
kO v
0
- nh va c kt np vo tp nh bc 3 - ta sa
nhn ca k theo nguyn tc sau : G d cung (
0
,k ) e
Nu d > e th nh k c nhn m k(
0
, e )



e=15

0


Nhn m

k (
0
,15)
+)
0
: va kt np vo , k : khng
thuc

49

0
(
0
,1
0)
k
(,23
)
T u 11 Chuyn Tn H Ty
Th d :
Fe d u vo : PRIM.INT
6
0 16 3 12 0 0
16 0 12 0 7 0
3 12 0 13 16 10
12 0 13 0 0 5
0 7 16 0 0 16
0 0 10 5 16 0
Fe d u ra : PRIM.OUT
( 1, 3)= 3 ( 3, 6)= 10 ( 6, 4)= 5 ( 3, 2)= 12 ( 2, 5)= 7
Tong ga tr cay khung ngan nhat a 37
Uses Crt;
Const F = 'prm.txt';
Fo = 'prm.out';
Max = 200;
Var A : Array|1..Max,1..Max| of Byte;
D : Array|1..Max| of Booean;
C : Array|0..Max| of record x1,x2 : Byte; end;
Nh : Array|1..Max| of record truoc,gatr : Byte; end;
N,dd,socanh : Byte;
_____________________________
Phn 3 : Cy - Cy khung ngn nhEt TDH
9/16/2014 9/16/2014
12
16 3 13
5
12 10
16
7 16
50
1 4
3
2
5
6
{canh : Integer;}
{--------------------------------}
Procedure DocF;
Var f : Text;
,| : Byte;
Begn
Assgn(f,);
Reset(f);
Readn(f,n);
For :=1 to n do
Begn
For |:=1 to n do read(f,a|,||);
Readn(f);
End;
Cose(f);
End;
{--------------------------------}
Procedure Napdnh1;
Begn
Fchar(d,szeof(d),Fase);
d|1| := True;
dd := 1;
End;
{--------------------------------}
Functon Mn(x| : Byte): Byte;
Var x,p, : Byte;
Begn
x := 0; p := 255;
For :=1 to N do
If d|| then
If (p>a|,x||) and (a|,x||>0) then
Begn
x := ; p := a|,x||;
End;
Mn := x;
End;
{--------------------------------}
Procedure Gannhan;
Var x,x| : Byte;
Begn
For x|:=1 to N do
If not d|x|| then
Begn
x := Mn(x|);
If (x>0) and (A|x,x||>0) then
Begn
51
T u 11 Chuyn Tn H Ty
nh|x||.truoc := x;
nh|x||.gatr:= A|x,x||;
End
Ese
If x=0 then
Begn
nh|x||.truoc := 0;
nh|x||.gatr:= 255;
End;
End;
End;
{--------------------------------}
Procedure Ketnapthem;
Var p,|,x| : Byte;
Begn
p := 255;
For |:=1 to n do
If not d||| then
Begn
If (nh|||.gatrp) then
Begn
x| := |;
p := nh|||.gatr;
End;
End;
d|x|| := True;
Inc(socanh);
c|socanh|.x1 := nh|x||.truoc;
c|socanh|.x2 := x|;
dd := x|;
End;
{--------------------------------}
Procedure Suanhan;
Var x| : Byte;
Begn
For x|:=1 to N do
If (not D|x||) and (A|x|,dd|>0) then
Begn
If Nh|x||.gatr>A|x|,dd| then
Begn
Nh|x||.truoc := dd;
Nh|x||.gatr:= A|x|,dd|;
End;
End;
End;
{--------------------------------}
_____________________________
Phn 3 : Cy - Cy khung ngn nhEt TDH
9/16/2014 9/16/2014
52
Procedure Hencanh;
Var ,p : Byte;f : Text;
Begn
Assgn(f,fo);
Rerte(f);p:=0;
For :=1 to n-1 do
Begn
p := A|c||.x1,c||.x2|+p;
rte(f,'(',c||.x1:2,',',c||.x2:2,')=',A|c||.x1,c||.x2|:3,' ':3);
End;
rten(f);
rten(f,'Tong ga tr cay khung ngan nhat a ',p);
Cose(f);
End;
{--------------------------------}
Procedure TT_Prm;
Var Ok : Booean;
Begn
SoCanh := 0;
Fchar(nh,szeof(nh),0);
Napdnh1;
Gannhan;
Ok := Fase;
Repeat
Ketnapthem;
If Socanh=N-1 then Ok:= True
Ese Suanhan;
Unt Ok;
Hencanh;
End;
{--------------------------------}
BEGIN
Crscr;
DocF;
TT_Prm
END.
Phn 4
Tm ng ngn nhEt
53
T u 11 Chuyn Tn H Ty
_____________________________
Phn 3 : Cy - Cy khung ngn nhEt TDH
9/16/2014 9/16/2014
54

You might also like