ganquanlife 发表于 2013-3-2 17:01

关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?

此程序的14行,while~isempty(g==1),为什么行呢,什么意思?难道这个和while~isempty(find(g==1))是同一个意思?
我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。
function = bfsf1(g)
%广度优先搜索
%g:邻接矩阵。w顶点标号
n=size(g,1);
w=zeros(1,n);
l=0;
v=1;
a1=find(g(v,:)==1);
g(v,a1)=2;
g(a1,v)=2;
w(a1)=l+1;
s1=union(a1,v);
l=l+1;
while~isempty(g==1)
   a1=find(g(s1,:)==1);
    t=length(s1);
    d=[];
    for i=1:length(a1)
        if a1(i)/t>floor(a1(i)/t)
            t2=floor(a1(i)/t)+1;
        else
            t2=floor(a1(i)/t);
        end
        if isempty(intersect(d,t2))
            d=union(d,t2);
        end
    end
    d1=setdiff(d,s1);
    if isempty(d1)
        break;
    else
        w(d1)=l+1;
        g1=g(s1,:);
        g1(a1)=2;
        g(s1,:)=g1;
        g(:,s1)=g1';
        s1=union(s1,d1);
        l=l+1;
    end
end
   
end

ganquanlife 发表于 2013-3-2 17:04

帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

madio 发表于 2013-3-2 21:34

ganquanlife 发表于 2013-3-2 17:04 static/image/common/back.gif
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

这种情况在右侧点击“禁用表情”就没有了。
页: [1]
查看完整版本: 关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?