QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3616|回复: 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))是同一个意思?
    8 R6 I1 H; B* O' s+ e& @3 a5 j我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。
    : k9 G( n+ B  ^: a* Vfunction [w] = bfsf1(g)
    / R. N" B$ A* K5 o& p%广度优先搜索
    - `6 y- x6 d# Z" r- ~%g:邻接矩阵。w顶点标号+ g8 Y' h# r  L
    n=size(g,1);- t% {5 k) w7 I" G. ]; S
    w=zeros(1,n);+ x2 v2 o8 `% ]1 c7 Z. C
    l=0;6 u6 L. K% m7 k) f, t
    v=1;" t7 E0 W/ C9 O4 U) @
    a1=find(g(v,:)==1);
    ' @6 a* \, C3 u5 O" _5 B4 E0 S1 Tg(v,a1)=2;8 M4 e8 T$ R. D6 U7 b* z+ \/ r
    g(a1,v)=2;
    ; I9 K1 L& c" Kw(a1)=l+1;; A, E4 K5 M' b; f
    s1=union(a1,v);
    8 [  J8 o8 f' k8 C) I9 U  Pl=l+1;
    ! f% d, Z/ |" Gwhile~isempty(g==1)
    9 ]+ ]* G& |( [   a1=find(g(s1,:)==1);2 w$ |+ A+ v# @* x1 Q
        t=length(s1);& L2 Z* w3 X- O
        d=[];
    6 a6 c# d. O! W8 V* F* I    for i=1:length(a1)
    ' M0 N" l0 u; ^  r  [3 I        if a1(i)/t>floor(a1(i)/t)) Y+ B) v  ?- v, q7 \5 A; _( d
                t2=floor(a1(i)/t)+1;
    3 r9 q' h: ?/ A6 ^, ^* I6 Q        else
    5 ^+ t+ B. X9 e0 z7 F0 Q* P            t2=floor(a1(i)/t);3 F' |5 \; \9 n+ e) B0 {: ]
            end
    & p& P, ^1 D. y: n        if isempty(intersect(d,t2))- q/ b. n6 i+ v0 j
                d=union(d,t2);
    5 ?( j7 L: ?$ O% W3 d3 H: X' p        end+ ]! M# B  y7 y
        end
    ( ?2 y. ?* r/ ~: v    d1=setdiff(d,s1);& B3 Z9 \8 {2 @
        if isempty(d1)
    ; H* [  z9 z) J% H        break;
    6 S& J2 r6 c$ {0 R    else; y& @  {" b' f+ p2 Q
            w(d1)=l+1;
    4 c& g5 K; ]5 I+ m# x' o9 a& Z+ c# V/ R        g1=g(s1,:);
    7 B( D% A/ h5 d! m7 C- S9 a! ]        g1(a1)=2;
    . p2 ~. A5 o1 e: q        g(s1,:)=g1;
    * V$ U# [: h# H: O! Z. W) l        g(:,s1)=g1';. I# r! v0 r7 K! @% H* P/ P3 q4 j
            s1=union(s1,d1);( h  O% C1 C6 @  z, u) T
            l=l+1;
    ' |* D4 g/ G7 y  _& r) s6 m    end4 A, M7 p+ P7 x" p) x
    end- B! y1 A% ^  Q7 h) a! G2 C$ E/ h5 S/ `
       
    3 I; ^: K( q+ o8 ]4 r: @5 kend
    ) t, y( c" @; C9 }' q: b) M" O' a5 m7 j3 b: `7 u
    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万

    主题

    1312

    听众

    5万

    积分

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

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

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

    群组数学建模培训课堂1

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

    群组Matlab讨论组

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

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

    ganquanlife 发表于 2013-3-2 17:04
    . {3 e0 y! Z* x* c/ B- F8 j帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
    ; X. a7 G; k- ~2 D4 _( a
    这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-6-7 10:52 , Processed in 0.688083 second(s), 68 queries .

    回顶部