floyd算法-matlab
对582*582的距离矩阵进行查找最优路径
path = zeros(size(data,1),size(data,1));
for v = 1:582
for i = 1:582
for j = 1:582
if dis(i,j)>dis(i,v)+dis(v,j)
dis(i,j) = dis(i,v)+dis(v,j);
path(i,j) = v;
end
end
end
end
遍历输出路径
function[add] = findmin(u,v,path,add,dis)
add = add+dis(u,v);
if path(u,v) == 0
disp([num2str(u),'-',num2str(v),'-']);
else
mid = path(u,v);
findmin(u,mid,path,add,dis);
findmin(mid,v,path,add,dis);
end
end