数学建模社区-数学中国

标题: 关于图论的广度优化搜索,语句while~isempty(g==1)正确吗? [打印本页]

作者: ganquanlife    时间: 2013-3-2 17:01
标题: 关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?
此程序的14行,while~isempty(g==1),为什么行呢,什么意思?难道这个和while~isempty(find(g==1))是同一个意思?
; ~5 Y3 ?- P& N. p0 N1 i我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。& b. f" R7 G8 F6 c7 t7 p, I: T
function [w] = bfsf1(g)' h, _5 ^, m( }
%广度优先搜索' M+ Z3 W) M; F* ?# T7 d
%g:邻接矩阵。w顶点标号) y, o8 @( G+ v1 {3 O7 y* z" R
n=size(g,1);. a( ~. S! B7 h
w=zeros(1,n);
5 S9 ]" N1 `+ h+ E6 E6 Z3 el=0;3 W3 ]0 e; F# t
v=1;
. [- _5 D. ]3 m/ i& |+ Wa1=find(g(v,:)==1);
( l- z; ~! I% M' G7 ~g(v,a1)=2;
) G! z2 F5 Z1 M( N, ^3 eg(a1,v)=2;1 Y) C" N% }) {; H! p1 X: E
w(a1)=l+1;4 L. f: h  D- O3 n6 z7 u
s1=union(a1,v);
& s2 [$ A5 y7 ^/ s2 j, G% T% s+ Q: Jl=l+1;
- E; S% _8 p$ l6 A# xwhile~isempty(g==1)
* K6 O- j3 U# J; V2 J  ?   a1=find(g(s1,:)==1);
$ q$ X/ d0 d# x5 t$ m1 [5 B6 _+ a    t=length(s1);
: z2 Z6 e1 J8 c$ Q/ D    d=[];  z3 y9 x3 t- H& J; R! m+ D9 i
    for i=1:length(a1)( |% r+ S9 P0 k/ U/ i
        if a1(i)/t>floor(a1(i)/t)
7 F' C( p- y% {$ l) f! U            t2=floor(a1(i)/t)+1;$ B1 w. h6 U8 Z2 b6 l; f5 `
        else
  M2 |: o0 E9 G$ V8 P. q# l            t2=floor(a1(i)/t);* q8 z$ t$ B2 R
        end
9 A2 J% h7 Z( K  s" W" Z        if isempty(intersect(d,t2))$ i, ]; O; I& D
            d=union(d,t2);
9 U- ?* M1 }; I0 ?: Z, V        end
* ]9 n  L% U% f" F0 C    end
1 }( `' R3 @# I8 H% r4 X+ ^    d1=setdiff(d,s1);& s- H; g$ D6 H( h( o$ p
    if isempty(d1)  Z* |( p; B9 [- a! b# Q
        break;
1 N7 B; c% ]4 b- N' I+ F    else. m6 w. C" ]; u) Y! U
        w(d1)=l+1;
* M1 J4 @& g# l2 N; I        g1=g(s1,:);7 ?- T# `/ j  g& v! z. c! F4 N
        g1(a1)=2;
6 w. x8 [3 w' B1 h$ @        g(s1,:)=g1;
, c* Q, S6 ^& F9 k& u$ W        g(:,s1)=g1';$ h" V* V. s  f
        s1=union(s1,d1);" d0 s& b$ g$ Q9 I, K* g" I
        l=l+1;
4 M; X, y! t& |/ I    end6 j& M: }. E/ v
end2 v& N# v2 x8 j' n
   
) q2 \* R2 {, mend2 }  {& B9 A# f' ~  N
: }+ `( x9 ~3 y! I

作者: ganquanlife    时间: 2013-3-2 17:04
帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
作者: madio    时间: 2013-3-2 21:34
ganquanlife 发表于 2013-3-2 17:04
* G" x0 E' B$ F2 m0 v8 J1 C9 L帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

7 Q- W4 i% _1 X: F2 v; Y! K# R( s这种情况在右侧点击“禁用表情”就没有了。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5