QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3697|回复: 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 S! {2 Q* J5 a+ L我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。1 D1 \6 X5 b; [& a* |7 V0 C
    function [w] = bfsf1(g)6 R( M* Q! y( o$ K
    %广度优先搜索
    + \8 t$ ~0 {& |4 {* M%g:邻接矩阵。w顶点标号
    ! ?, p3 Y/ Z: p0 h1 I& [n=size(g,1);
    3 p0 e$ T4 v$ [) ^3 kw=zeros(1,n);8 |* K: o6 e4 F
    l=0;
    / S# ]' F( u$ C5 ^9 `" Q' k& zv=1;: A. I- D% N; d" t1 d+ i
    a1=find(g(v,:)==1);
    8 _( ?/ o; g; W) f2 R+ c3 Dg(v,a1)=2;
    ( ^  ]  F& j5 o& vg(a1,v)=2;5 A/ t/ p, P2 d$ t# L: Z* m0 s
    w(a1)=l+1;7 V4 j& o. j2 p$ B
    s1=union(a1,v);3 P+ Q; q6 h% u' ~. `# [
    l=l+1;* X, P) ~1 O. n. \; [% B* C
    while~isempty(g==1)
    2 l' D1 U, t; E" w" p8 g   a1=find(g(s1,:)==1);
    . r6 A& q5 G, L- n+ ]4 B7 J    t=length(s1);
    " P) c5 Z* X8 i  Y- S( V. I    d=[];
    ; q0 @9 n" S4 D6 Z$ o    for i=1:length(a1)1 |6 l1 K6 ?' _; @& @  o) W
            if a1(i)/t>floor(a1(i)/t)/ G3 Y% V& x# k5 w& F! n7 g7 Q
                t2=floor(a1(i)/t)+1;' ], \7 M0 }+ {5 l7 t
            else* z& f; b( e3 _0 J7 Y0 r
                t2=floor(a1(i)/t);
    8 W7 {3 a) W( j. p3 Y: o        end; ?4 ?" Y: c; r/ ^
            if isempty(intersect(d,t2))' c( y0 P  S  M. z
                d=union(d,t2);! k, {0 ]/ Q. Z* i
            end& v9 i4 Q' M# i. N
        end
    ! g1 C3 l6 q9 ~- f, V    d1=setdiff(d,s1);- A5 x+ r9 G) U3 O6 V2 J0 z( W
        if isempty(d1), i  [/ Q9 e- g/ I
            break;) v' s8 z! C) e8 B9 o
        else
    ' K! P$ q$ H3 o$ s; d        w(d1)=l+1;
    8 _1 c) X* P0 w0 S        g1=g(s1,:);
    ) g7 ~- V; z0 E" M: r. K, ^1 A3 M/ `        g1(a1)=2;
    # z" {! e1 f3 ~' d9 c        g(s1,:)=g1;
    + ]6 W1 d: e% i6 N8 n        g(:,s1)=g1';
    5 Z% Y, G4 M, A8 a) q2 Z; z        s1=union(s1,d1);; w# _. f) Y& C1 ?0 f' |( G3 b+ e
            l=l+1;
    " l7 O" ?+ M2 P  }- S/ J$ `    end
    9 U: K8 I$ s+ k7 {  Nend1 L0 K" N- A$ {$ G# d( z
       
    * D8 p# L; X6 A+ l4 u: G/ }( p9 Fend& `" ?2 D+ `% b$ q4 `, y: n
    * q- Y+ G% [  L
    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 0 Z' q7 `4 h3 i
    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
    ; Z0 I0 f; B! ]. E) V# A- E
    这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-9-10 08:35 , Processed in 0.430186 second(s), 68 queries .

    回顶部