kruskal算法可运行MATLAB

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

clc;clear;

M=1000;

%a(1,2)=50;a(1,3)=60;

%a(2,4)=65;a(2,5)=40;

%a(3,4)=52;a(3,7)=45;

%a(4,5)=50;a(4,6)=30;

%a(5,6)=70;

a(1,2)=1;a(1,3)=4;

a(2,3)=2;a(2,4)=3;a(2,5)=5;

a(3,4)=1;a(3,5)=3;

a(4,5)=2;

[i,j]=find((a~=0)&(a~=M));

b=a(find((a~=0)&(a~=M)));

data=[i';j';b'];index=data(1:2,:); loop=max(size(a))-1;

result=[];

while length(result)

temp=min(data(3,:));

flag=find(data(3,:)==temp);

flag=flag(1);

v1=data(1,flag);v2=data(2,flag);

if index(1,flag)~=index(2,flag) result=[result,data(:,flag)];

end

if v1>v2

index(find(index==v1))=v2;

else

index(find(index==v2))=v1;

end

data(:,flag)=[];

index(:,flag)=[];

end

result

相关文档
最新文档