QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3384|回复: 2
打印 上一主题 下一主题

[问题求助] 关于图论的广度优化搜索,语句while~isempty(g==1)正确吗?

[复制链接]
字体大小: 正常 放大

9

主题

7

听众

188

积分

升级  44%

  • TA的每日心情
    慵懒
    2013-8-23 15:15
  • 签到天数: 84 天

    [LV.6]常住居民II

    自我介绍
    我想参加明年的数模竞赛

    群组西安交大数学建模

    群组数学建摸协会

    群组英语科技论文写作实训

    跳转到指定楼层
    1#
    发表于 2013-3-2 17:01 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    此程序的14行,while~isempty(g==1),为什么行呢,什么意思?难道这个和while~isempty(find(g==1))是同一个意思?0 _( z! p: G& `8 g% B7 E% p
    我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。
    7 U* T/ X' p5 t1 _. U3 T" ~- Bfunction [w] = bfsf1(g)+ ?% }! L$ z! h/ m( q$ Q
    %广度优先搜索3 N& R2 s* A6 {5 l8 A
    %g:邻接矩阵。w顶点标号
    5 Y6 `9 s3 |2 m9 s/ Wn=size(g,1);
    , Z: l8 g9 ]. r& W' ew=zeros(1,n);
    * J  \: r3 ^  K6 y/ X0 dl=0;
    0 f" m/ t# S/ {* I  q) B( q; Rv=1;
    / b- l" T, A  ?; G* B9 q' fa1=find(g(v,:)==1);
    9 B: R6 L7 }5 X+ e) sg(v,a1)=2;
    & O* s3 G+ v4 ag(a1,v)=2;6 w5 ^" X+ E* D4 T5 E$ G
    w(a1)=l+1;& m% Y, d/ L# c6 p
    s1=union(a1,v);
    ) }6 o' ^6 v  ]6 N; ul=l+1;4 s' R& C8 i- y+ G/ h* l
    while~isempty(g==1)
    - ]3 Z& k2 ~1 d0 h5 k2 d   a1=find(g(s1,:)==1);( P" `7 u/ o6 \- v+ d8 O  _, m: t
        t=length(s1);
    7 @  Y0 u% J( K1 `( d    d=[];; P2 p) f8 j; }( Y4 ?
        for i=1:length(a1)
    9 ?! g# w3 I+ O        if a1(i)/t>floor(a1(i)/t)0 W2 K/ {) J& J
                t2=floor(a1(i)/t)+1;9 W1 j# ?% D2 o3 \, ~" d
            else4 o; B" F: D1 ~) m2 D/ q% b
                t2=floor(a1(i)/t);
    / S+ c3 ]7 d! Y; L( s        end
    1 q4 w) `+ {! Z        if isempty(intersect(d,t2))
    7 b, m3 n2 O  l. r! X            d=union(d,t2);
      ]) A7 w( X# L! w( J( U1 `) h. w3 z        end3 B: f+ M: w' O
        end
    ' h4 V9 ?9 p& `( z( n    d1=setdiff(d,s1);7 h8 q& N* z0 E
        if isempty(d1)
    0 l* v# v5 L: Y7 ^4 c        break;
    # V3 T; P# M, v    else, G0 T3 v# ?+ S
            w(d1)=l+1;$ e4 Y6 }/ h0 R' {" i, x" e
            g1=g(s1,:);, _( f) h0 [+ K( S3 |7 b
            g1(a1)=2;
    " I# i; C% n! h9 Z        g(s1,:)=g1;3 w; f! d3 t* W% F) ~' ~% E
            g(:,s1)=g1';9 g& S7 i- s! \6 L
            s1=union(s1,d1);
    $ B! o/ y) Y+ j; `" i        l=l+1;: I0 V( A' A7 g& @) s9 |
        end$ Y2 f: i  E% i- B
    end! M& |7 v( \8 `% w5 p
        7 }/ o- r/ t% ?
    end
    6 ?' d- h; m; F' w8 S( v$ h/ z& v
    , y' u0 Q1 b, I9 I2 ?- x
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    9

    主题

    7

    听众

    188

    积分

    升级  44%

  • TA的每日心情
    慵懒
    2013-8-23 15:15
  • 签到天数: 84 天

    [LV.6]常住居民II

    自我介绍
    我想参加明年的数模竞赛

    群组西安交大数学建模

    群组数学建摸协会

    群组英语科技论文写作实训

    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    点评

    madio  这种情况在右侧点击“禁用表情”就没有了。  详情 回复 发表于 2013-3-2 21:34
    回复

    使用道具 举报

    madio        

    3万

    主题

    1311

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    ganquanlife 发表于 2013-3-2 17:04
    2 {4 e' t9 {, X7 l8 v帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

      a# i( w6 G% Z9 L) p1 t这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-8-19 22:41 , Processed in 0.709379 second(s), 67 queries .

    回顶部