数学建模社区-数学中国
标题:
关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?
[打印本页]
作者:
ganquanlife
时间:
2013-3-2 17:01
标题:
关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?
此程序的14行,while~isempty(g==1),为什么行呢,什么意思?难道这个和while~isempty(find(g==1))是同一个意思?
+ S2 t6 f8 q3 q: ~ a
我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。
4 ^7 y- n2 v4 r: w j; s5 I8 V
function [w] = bfsf1(g)
N& r- s' c/ ^8 {( ~9 e! K
%广度优先搜索
. m$ d. F. w' }" O1 m' V
%g:邻接矩阵。w顶点标号
8 \* E @, E& L" v, T1 B
n=size(g,1);
% a/ T' P$ a6 r( \/ h; _. E
w=zeros(1,n);
) S5 ?8 p& V+ v2 c, j3 q
l=0;
/ K! F3 M. _2 g& d) L C
v=1;
* ]9 Q/ ]) \/ o3 ]% t) n
a1=find(g(v,:)==1);
. Y' r+ _# M6 z7 `
g(v,a1)=2;
4 K" V! x2 _3 K; E. K' Z
g(a1,v)=2;
! X0 u- q3 H. a, S Z
w(a1)=l+1;
' j9 G4 k5 Y- e! {1 j' ^) h
s1=union(a1,v);
/ L3 }9 j0 ]& K. k3 c4 `
l=l+1;
& ?' F7 ~5 k) E
while~isempty(g==1)
+ e8 w/ i o3 \" ]
a1=find(g(s1,:)==1);
, D, z" a7 Y# S, l
t=length(s1);
8 t8 ~; d/ k+ y+ d
d=[];
0 O0 W, b! v* y* U3 _. e4 q5 T$ C* W8 c
for i=1:length(a1)
/ Y5 t# }9 D, g$ E! K5 z: [
if a1(i)/t>floor(a1(i)/t)
7 x) }. R' U( F$ V
t2=floor(a1(i)/t)+1;
/ ?$ X6 k U% A& f0 v4 @: i* a
else
6 k* e( S% y4 h( `" Q
t2=floor(a1(i)/t);
& N& |/ j1 d2 j. c8 D$ U. n
end
* r+ X3 x6 h9 K8 z" E/ R
if isempty(intersect(d,t2))
/ ` [ P- J$ h8 V+ D
d=union(d,t2);
- X7 ?* V/ \7 P) W& j- C3 j
end
7 i: G9 M4 _* J: S o
end
* Z* @0 z5 `% `% N
d1=setdiff(d,s1);
+ y% R8 W$ F, y1 s3 K" y
if isempty(d1)
$ w2 i' Z% K: @0 z( r4 Y# X c; D# k
break;
& t5 R! x& C- n' Q
else
' Q. b' G- Z( ?
w(d1)=l+1;
2 C+ ?* ?) E+ P2 A2 E- X) v
g1=g(s1,:);
$ g6 U" C) s6 E( ?
g1(a1)=2;
- p* U# a4 n4 r& q. G" |% M
g(s1,:)=g1;
( Z' h1 H4 _) h4 O4 F
g(:,s1)=g1';
# l* {5 s) x: _! }$ f- G; B( c
s1=union(s1,d1);
& I% U& x! k* s, J; F: `" C }
l=l+1;
" k; m0 y2 q% j8 ]3 E
end
: j7 n2 ]3 e0 k/ v9 I
end
J% @- u$ m7 b4 ^) C
: j- W( O6 ?) ]- U6 I, D$ M) `
end
+ ?3 Y8 z3 S$ Y* T- C- C) r( ]
- u3 }! g/ u( a9 V. I; {5 V
作者:
ganquanlife
时间:
2013-3-2 17:04
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
作者:
madio
时间:
2013-3-2 21:34
ganquanlife 发表于 2013-3-2 17:04
4 R$ Z, l% K& h, m u
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
! C/ s m6 P1 B' A' O
这种情况在右侧点击“禁用表情”就没有了。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5