关于图论的广度优化搜索,语句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 static/image/common/back.gif
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
这种情况在右侧点击“禁用表情”就没有了。
页:
[1]