QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3645|回复: 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))是同一个意思?! t- q- x% `& T6 o1 B$ \
    我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。2 a9 R  I3 f" o& k! V
    function [w] = bfsf1(g)- m9 T/ E$ r6 {% O' g% t2 H  \$ N
    %广度优先搜索
    " e2 Z2 z( G) V%g:邻接矩阵。w顶点标号
    $ Y5 K7 D# ]4 Zn=size(g,1);: O  w/ S4 X# C* u( @' }
    w=zeros(1,n);/ o1 B1 t/ }- X5 x* W1 h
    l=0;2 ~6 F; X8 M& H. H
    v=1;$ b4 ^) D/ a$ |+ U( k
    a1=find(g(v,:)==1);
    ) C& x8 J1 D( yg(v,a1)=2;
    + P$ A  e' G% \- K# X7 ?/ sg(a1,v)=2;7 o8 g+ P" t6 k  [
    w(a1)=l+1;: K- w8 p0 ?$ R% `. J1 o
    s1=union(a1,v);; p8 ~2 O7 Q3 s6 L- m
    l=l+1;
    / L, ^2 b0 B( V: Ewhile~isempty(g==1)
      G% O* n% s, K4 G! k5 h; L: L! X$ |   a1=find(g(s1,:)==1);
    / B/ S8 M( \; Y8 D5 w  a6 n% f0 @9 ~    t=length(s1);
    % E. Y4 |2 i0 |4 e    d=[];% s! l: F( W. f* p% M$ l8 P
        for i=1:length(a1)# g4 l0 d# j' E- ?1 H" b
            if a1(i)/t>floor(a1(i)/t)+ D) \$ G6 j' {/ r8 H2 c$ e7 h
                t2=floor(a1(i)/t)+1;
      n* _) i# k: F( u        else
    6 h! u2 j4 x4 ?/ |6 ?( v            t2=floor(a1(i)/t);
      M" h7 Z% x! T/ ~0 {        end3 Q4 M  `0 D) h
            if isempty(intersect(d,t2))
    1 r" i; X' O" L3 e            d=union(d,t2);" B0 v( G9 E+ |& U9 i6 W% T$ R  O' Q. p
            end3 O- q7 c+ h- M3 }6 m" N$ E* R
        end7 z% e. ^$ y' g0 P1 X) N
        d1=setdiff(d,s1);1 f- k, z. w; _3 O  a% I: t
        if isempty(d1)5 \3 z/ ~3 l+ y/ R
            break;
    7 a! |$ A: ~8 J7 y2 y9 m; `    else9 m% B1 @0 I0 y; S
            w(d1)=l+1;2 ]& n3 ~- f+ w% X; a+ e
            g1=g(s1,:);
    5 e& V, j; t  n, z        g1(a1)=2;# ]( |$ Q; i/ [' Y* l
            g(s1,:)=g1;7 v! W3 ]* s" j' [! }0 i
            g(:,s1)=g1';  ^% y- T0 a, _
            s1=union(s1,d1);
    ) p: W: P, Y2 Y4 l+ g0 ^" R        l=l+1;
    / T+ \0 g1 x+ t0 r    end, @* z; q/ z1 T4 p# G. n* |
    end
    - o! n9 J+ r+ ]! i    * W9 R7 h4 `% a+ R8 [' o! V2 v: C6 Y
    end) \6 ~+ s- J0 p2 W( m

    2 q' |- Z# y- Q4 `2 U2 x$ Z# O- R# g4 ]
    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
    4 R0 }4 @9 O. h) b0 P3 f3 k帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
      x1 {4 \) Y9 i" q* L% U$ o# l
    这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-23 04:13 , Processed in 0.608081 second(s), 73 queries .

    回顶部