QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3695|回复: 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))是同一个意思?2 O2 P8 O5 F3 K0 |9 d
    我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。. x4 }! _0 m1 _" E2 s# }. Z
    function [w] = bfsf1(g)
    ! g3 [4 W, ^8 ?  R3 P; S- W: C%广度优先搜索
    0 A% s7 _% Z9 H; M' F- A$ a%g:邻接矩阵。w顶点标号$ j  v) k* Q6 r  X" K- q0 c* F
    n=size(g,1);
    $ |& \& h) s3 t9 A0 O+ Q* \- _+ nw=zeros(1,n);: H  ^3 V# G1 k) p' b" W
    l=0;
    " V7 L$ `6 J3 A4 ]" }+ Yv=1;: s$ `9 I5 I8 D* J$ v
    a1=find(g(v,:)==1);4 d+ s3 o! k) ~8 M4 z
    g(v,a1)=2;
    & N8 K" M* k. d5 i2 [7 x7 G. {g(a1,v)=2;- b( S% U* q8 w1 b1 u; @& c7 ?
    w(a1)=l+1;/ D2 u& z+ |" C# y
    s1=union(a1,v);
    * h) m6 z  I: Ol=l+1;2 `6 C2 }/ Q5 j8 M( m- ]: A
    while~isempty(g==1)
    0 {# q- l1 |1 ~% u- s/ u  k   a1=find(g(s1,:)==1);9 y; Y8 c& M. s1 S* D  K" ]
        t=length(s1);- L0 o1 \, c7 c2 e! u+ ?  K
        d=[];/ b+ P5 x7 F6 w7 R- f* g' g/ x, b
        for i=1:length(a1)7 Q/ a4 K0 ?6 g5 X
            if a1(i)/t>floor(a1(i)/t); Z9 \- b+ a3 U
                t2=floor(a1(i)/t)+1;3 S" C( G# l; z$ |4 p
            else
    1 [) o: d4 q' K9 `% S3 [            t2=floor(a1(i)/t);) E- _  P0 u) r, V9 @
            end
    - V# S/ p% `2 t+ P& Y+ J        if isempty(intersect(d,t2)), L8 s; e. T* z$ ]; w" H% X1 I, x
                d=union(d,t2);
    4 O, q7 B9 A/ v0 j. C" E+ a) `" h        end) o$ k! m7 l. w: R; S7 [
        end
    8 F; [9 n; p4 {* m    d1=setdiff(d,s1);3 k! A+ H/ q2 e% }3 H$ @6 w
        if isempty(d1)( `4 A5 m9 v9 J- V# c6 O; g" [
            break;
    1 Q% }2 B, Z) a1 k! Z6 O    else
    3 o' K7 f: [! a* L* X        w(d1)=l+1;: c3 q6 t) ]0 G/ M. J
            g1=g(s1,:);+ b! d/ [8 n" J( V' u# A' z
            g1(a1)=2;
    8 n4 B% N+ k0 T        g(s1,:)=g1;
      D) s% K7 p. k/ _2 {/ p        g(:,s1)=g1';
    + d+ S# z0 v& \! b- r* i  C        s1=union(s1,d1);; n& c% B" O( o8 s, [+ v2 b  A
            l=l+1;
    ! T# P& U8 s5 I7 }' p    end
    7 Y: `1 o4 y/ M- }5 }8 aend+ Z% e3 R! g7 b8 X
        ' d1 U5 y$ U4 {2 T' s- t% ?" i
    end& u% m: x7 |0 ?% N+ |7 x, p" M
    , |; X8 E: e  i! E& r# H! w
    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 , x% ^  P! L; Z* V# h# X+ Z
    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    4 y9 ]& e+ K) R' i. G) u# W这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-9-10 03:57 , Processed in 0.318526 second(s), 68 queries .

    回顶部