梁飞 发表于 2014-12-28 11:07

这个prim算法哪里错了?求赐教。。。

function =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=;
    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];
=tree_prim(a,n)


梁飞 发表于 2014-12-29 13:06

QYY1994 发表于 2014-12-28 19:41 static/image/common/back.gif
程序没有错,这是一个function函数,你差一个调用它的原数据a和n;
比如:n=4;a=[1 2 3 4
2 3 4 5


好的,谢谢
页: [1]
查看完整版本: 这个prim算法哪里错了?求赐教。。。