数学建模社区-数学中国
标题:
关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?
[打印本页]
作者:
ganquanlife
时间:
2013-3-2 17:01
标题:
关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?
此程序的14行,while~isempty(g==1),为什么行呢,什么意思?难道这个和while~isempty(find(g==1))是同一个意思?
% Q# x3 \1 b2 D4 f/ z9 Z, r( `3 A
我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。
8 R4 z0 V7 H2 H9 U& I
function [w] = bfsf1(g)
4 ?+ ]% V# e; w
%广度优先搜索
) H/ x0 x U, [6 P% z% u
%g:邻接矩阵。w顶点标号
* |9 w- B+ w( [8 D
n=size(g,1);
2 N8 g, a6 p* p( S" w4 q& d- U
w=zeros(1,n);
9 m: |/ e" Q0 i5 b9 {
l=0;
8 ^! ~. ?0 |+ \# n
v=1;
& j0 s6 B% S5 \/ q; X) v( h4 O
a1=find(g(v,:)==1);
; Y4 Q ]* e0 g
g(v,a1)=2;
1 S8 m1 N/ t" C" {2 H! c' e2 s
g(a1,v)=2;
7 h% I9 m/ \: T/ k
w(a1)=l+1;
" c7 J' a1 l" Z0 J2 {
s1=union(a1,v);
: A0 q$ _& ]1 l
l=l+1;
3 I3 ` o9 D+ w7 G: o
while~isempty(g==1)
1 e; b, J1 f1 I' ~1 w1 _) j
a1=find(g(s1,:)==1);
6 a0 v$ S) f) B5 |& L& ` o
t=length(s1);
( L, A3 T0 S" f- e
d=[];
. s& a! I( W5 B) e7 u x1 O* A7 @
for i=1:length(a1)
' ? r, f; L7 H& v0 `3 {
if a1(i)/t>floor(a1(i)/t)
& d2 {4 M7 \% x" a4 O8 m
t2=floor(a1(i)/t)+1;
) S& e' o) y5 u. y$ ~ e
else
6 `9 k% T5 N% c: D) ~7 r. T9 h
t2=floor(a1(i)/t);
* o) o( w0 Z8 f/ {
end
7 J# z- S( [2 O$ a3 k3 `
if isempty(intersect(d,t2))
4 z% `! B" Q7 p) G# ^$ G* f e, }+ Q
d=union(d,t2);
( z$ b# Y. w. @9 \" v9 A+ i9 \/ ]
end
; ?( Y( U% _0 g$ l @* w+ m* [- z
end
4 G* q5 D1 V( j7 l' k% X
d1=setdiff(d,s1);
1 w& w; p- I" W! \
if isempty(d1)
. ^' M6 X/ i! q
break;
4 B1 L. U7 ] o3 W
else
/ z' Y: f5 S& m5 p
w(d1)=l+1;
1 a: t" z0 Q2 I8 ~% s- W
g1=g(s1,:);
8 H" Y% ?' w n2 U+ V
g1(a1)=2;
' E6 x3 i# S/ x/ [) w) [+ o& v9 d
g(s1,:)=g1;
- ^) ]$ q$ ~" z+ f/ M
g(:,s1)=g1';
a* }/ F3 i! Y8 a. k
s1=union(s1,d1);
% V8 I6 C* x0 g1 c
l=l+1;
* s& r# q' E4 _ ~& q
end
( Y; t6 d; O( T8 N
end
6 {2 a: R9 r2 B8 F8 o
: V8 |$ O5 d/ F; L4 A% ~: n
end
. ^) Z4 `8 P1 N1 F% z
! w" K$ ?. o4 M2 f3 M* ~8 P4 l
作者:
ganquanlife
时间:
2013-3-2 17:04
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
作者:
madio
时间:
2013-3-2 21:34
ganquanlife 发表于 2013-3-2 17:04
! d: ~( R6 p! ?4 j, H! o
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
! \: @' ]9 U! N3 u3 B4 \
这种情况在右侧点击“禁用表情”就没有了。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5