QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3830|回复: 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))是同一个意思?3 U! o5 H: t4 C! M/ }3 a
    我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。# P9 g" l2 P5 V8 g( Z
    function [w] = bfsf1(g)
    3 L* `: i5 c4 I9 D' j/ t: J%广度优先搜索
    ; z2 f* v. b  j%g:邻接矩阵。w顶点标号
    2 E2 M8 D8 i7 T2 V* e; |2 Tn=size(g,1);
    # ?) T: M: A- N; R% O9 V( Bw=zeros(1,n);
    ( j0 h: J9 i% d* wl=0;5 P9 @- p$ K9 M7 T: I4 {. L9 B1 j
    v=1;4 q/ y" e1 C" J- E# [$ o1 z0 I( A/ ]* O
    a1=find(g(v,:)==1);9 [5 u2 B& n( v- |* Y9 _
    g(v,a1)=2;
    , U% V* g0 K& a, Jg(a1,v)=2;0 q  M0 S& P8 f5 O: @5 {% S/ i
    w(a1)=l+1;2 m+ j8 z' M. v1 K. l( H
    s1=union(a1,v);
    1 O! Z, H3 [; s- T8 x& \7 Rl=l+1;
    " B0 Q+ r9 F7 N& Q: Bwhile~isempty(g==1)
    + q  [, V4 }8 w* I, x9 f& _# u   a1=find(g(s1,:)==1);8 o7 g$ D- f- F, l
        t=length(s1);7 [# q3 p% S: k. n4 P
        d=[];: t* V' W/ n1 \: K0 Y
        for i=1:length(a1)
    + n  Z6 W; T6 b, I( S5 H        if a1(i)/t>floor(a1(i)/t)
    5 F) y0 t: q4 Q            t2=floor(a1(i)/t)+1;
    ! ~: o$ n# F5 C        else& W$ V# T4 S% u; f% p
                t2=floor(a1(i)/t);( G. u% a, H- M, l7 a& ~
            end* E; N! k6 P) ]: A
            if isempty(intersect(d,t2))" q  L; y0 F7 p  Q5 R
                d=union(d,t2);
    & [9 C' q: b9 @2 }/ n        end
    + {4 `# I, D6 E2 |$ q- p, r' K" ~    end/ F4 k* D7 l- b- `9 u- S
        d1=setdiff(d,s1);
    0 T* i; H' O+ V) B; ^    if isempty(d1)
    2 F7 l# G; ]8 o6 d* R' B, [        break;
    $ m2 C" j1 l' ^    else- o! }" z# X5 L/ }) a
            w(d1)=l+1;$ @) E3 ]* F1 U# @5 H
            g1=g(s1,:);
    $ z' C9 n3 n3 E- l8 c' l2 f        g1(a1)=2;
    5 ~; R) P' p6 C$ d        g(s1,:)=g1;$ w8 u1 K) r  }3 }. U, s) s) U8 J
            g(:,s1)=g1';
    6 \8 k5 t4 O, }9 Q+ q        s1=union(s1,d1);
    0 \# A8 D' v: y: P, E        l=l+1;% ]6 E- F; X  L9 p/ a
        end) J( d3 o; @! a6 ?( |2 ~: T
    end
    # i' V5 X1 a- P& v3 g    & G* `8 _3 a) A. Z6 Q% J- z, U' K
    end  X$ E, g  ?/ ]9 P6 s7 ^
    3 j" z. t2 j& {
    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 8 i; Z( B" Z: j: W" H
    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
    ' r, R" E# m$ ~+ i4 b' _' I1 O
    这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-10-30 09:04 , Processed in 0.551362 second(s), 67 queries .

    回顶部