数学建模社区-数学中国

标题: 这个prim算法哪里错了?求赐教。。。 [打印本页]

作者: 梁飞    时间: 2014-12-28 11:07
标题: 这个prim算法哪里错了?求赐教。。。
function [T,c]=tree_prim(a,n)
T=[];c=0;v=1;H=2:n;
for j=2:n
    b(1,j-1)=1;
    b(2,j-1)=j;
    b(3,j-1)=a(1,j);
end
while size(T,2)<n-1
    i=min(b(3,:));
    i=find(b(3,:)==i)
    T=[T b(:,i)];
    c=c+b(3,i);
    v=b(2,i);
    temp=find(H==b(2,i));
    H(temp)=[];b(:,i)=[];
    for j=1:length(H)
        d=a(v,H(j));
        if d<b(3,j)
            b(1,j)=v;b(3,j)=d;
        end
    end
end



作者: QYY1994    时间: 2014-12-28 19:41
程序没有错,这是一个function函数,你差一个调用它的原数据a和n;
比如:n=4;a=[1 2 3 4
2 3 4 5
4 5 6 7
5 6 7 8];
[T,c]=tree_prim(a,n)



作者: 梁飞    时间: 2014-12-29 13:06
QYY1994 发表于 2014-12-28 19:41
程序没有错,这是一个function函数,你差一个调用它的原数据a和n;
比如:n=4;a=[1 2 3 4
2 3 4 5

好的,谢谢





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5