Tài liệu Bài tập lập trình - code thuật toán kruskal

Thảo luận trong 'Kế Toán - Kiểm Toán' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    173
    Điểm thành tích:
    0
    Xu:
    0Xu
    Const maxv=100;maxe=(maxv-1)*maxv div 2;
    type canh=record
    u,v,c:integer;
    mark:boolean;
    end;
    var e:array[1 maxe]of canh;
    lab:array[1 maxv]of integer;
    m,n:integer;connected:boolean;f1,f2:text;
    {====================================================================}
    procedure nhap;
    var i:integer;
    begin
    readln(f1,n,m);
    for i:=1 to m do with e do readln(f1,u,v,c);
    end;
    {====================================================================}
    procedure taorong;
    var i:integer;
    begin
    for i:=1 to n do lab:=-1;
    for i:=1 to m do e.mark:=false;
    end;
    {====================================================================}
    function getroot(v:integer):integer;{lay goc cua cay chua v}
    begin
    while lab[v]>0 do v:=lab[v];
    getroot:=v;
    end;
    {====================================================================}
    procedure union(r1,r2:integer);
    var x:integer;
    begin
    x:=lab[r1]+lab[r2];
    if lab[r1]>lab[r2] then
    begin
    lab[r1]:=r2;
    lab[r2]:=x;
    end
    else
    begin
    lab[r1]:=x;
    lab[r2]:=r1;
     

    Các file đính kèm:

Đang tải...