matlab最小生成树算法

来源:学生作业帮助网 编辑:作业帮 时间:2024/03/29 01:23:21

matlab最小生成树算法
matlab最小生成树算法

matlab最小生成树算法
a(1,[2 3 4])=[2 5 4];a(2,[1 3 6])=[2 2 7];
a(3,[1 2 6 5 4])=[5 2 5 3 1];
a(4,[1 3 5])=[4 1 4];
a(5,[4 3 6 7])=[4 3 1 7 ];
a(6,[2 3 5 7])=[7 5 1 5];
a(7,[6 5])=[5 7];
b=mintrees(a)
function [b,u,w]=mintrees(a,k)%最小生成树 ,a 邻接矩阵,k 起点
if nargout==1
k=1;
end
[m,n]=size(a);
for i=1:m
for j=1:n
if a(i,j)==0
a(i,j)=inf;
end
end
end
b=zeros(n);
u(1)=k;
j=1;
v=zeros(1,n);
v(k)=1;
for o=1:n-1
sn=ones(3,n)*inf;
for xk=1:j
k=u(xk);
p=max(a(k,:));
for i=1:n
if v(i)