数学建模社区-数学中国
标题:
关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?
[打印本页]
作者:
ganquanlife
时间:
2013-3-2 17:01
标题:
关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?
此程序的14行,while~isempty(g==1),为什么行呢,什么意思?难道这个和while~isempty(find(g==1))是同一个意思?
' {$ G9 h6 s. x7 \
我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。
) g5 [6 f4 S+ V1 W- ]8 U
function [w] = bfsf1(g)
1 S) W/ |, T3 ?- ^% }
%广度优先搜索
; j4 N& F9 g* C2 A, k; m9 H
%g:邻接矩阵。w顶点标号
. o/ Z' V {6 N$ k! x& v# A- ?
n=size(g,1);
; ^9 q% Z# u8 t! s4 Z5 e
w=zeros(1,n);
. k- K1 n G0 A1 `2 r( X) M
l=0;
8 W- V/ W* w) F
v=1;
, s5 ^! _8 B2 N \! J) ?; G
a1=find(g(v,:)==1);
. E, I9 f8 p5 X( | e" l
g(v,a1)=2;
2 j# n! s) B) ]4 `* | b' g
g(a1,v)=2;
; G& v. b5 ~8 p
w(a1)=l+1;
3 ?* U' @1 X/ x
s1=union(a1,v);
* k4 p" U* Q1 V) z- a
l=l+1;
r7 R w) J2 @8 [) Q$ s- w- ]" _5 w
while~isempty(g==1)
_* e# F( z/ c! I
a1=find(g(s1,:)==1);
$ z2 `$ |5 D$ a& P3 h& U. c$ q5 p# `7 \
t=length(s1);
" H, d) C& V+ R. s+ x) L. E# q
d=[];
) V" ~- T3 b) a1 {, U5 N
for i=1:length(a1)
8 L2 n/ V& R G4 y3 X$ |
if a1(i)/t>floor(a1(i)/t)
- x( h' c A; u+ y2 g$ n
t2=floor(a1(i)/t)+1;
$ p& ?( ]3 q6 B8 ~1 I
else
4 U+ L! }+ F" U
t2=floor(a1(i)/t);
0 S# j3 y. y- F% O0 ^' j) t1 ]
end
7 X* Y- e* A; P1 q
if isempty(intersect(d,t2))
: B/ c/ v* s- U4 f" J5 P
d=union(d,t2);
+ n6 B# @- y9 C6 c+ B W/ l I
end
0 }/ n2 U8 n( g' t+ N: E4 t
end
6 O: o! U R$ P, W5 Z% @+ \* Q
d1=setdiff(d,s1);
8 `6 a5 F, `" q
if isempty(d1)
+ m* i( D5 I5 W) k) c
break;
/ T3 Q5 D- ~; g& s7 r
else
% }& E P) F6 J3 h) n4 o
w(d1)=l+1;
! |8 P8 B& t7 P$ X$ E
g1=g(s1,:);
7 W7 \ |! G7 f& x# M; w! D9 ~
g1(a1)=2;
& @/ _( G0 y% Q
g(s1,:)=g1;
0 o, F$ s s( z% A
g(:,s1)=g1';
& j: E0 L% B0 B5 x8 t! H0 E/ ?
s1=union(s1,d1);
& `+ @9 Z, W/ q4 l% l+ g
l=l+1;
6 e. ~( q8 o9 g" ]4 }9 v
end
) ~) L# o5 Y, {' v7 I
end
- h* h$ [$ ^1 z$ T
3 H5 s: J( w- o- [2 t+ ~! O% e
end
6 O3 D5 n0 e! d7 A
3 V3 ?6 h$ C! |5 ^/ @
作者:
ganquanlife
时间:
2013-3-2 17:04
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
作者:
madio
时间:
2013-3-2 21:34
ganquanlife 发表于 2013-3-2 17:04
5 \- K6 W( L$ D% C Y2 |3 i' |( h0 Z" f
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
: h% [5 k/ \& M+ o
这种情况在右侧点击“禁用表情”就没有了。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5