QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3615|回复: 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))是同一个意思?4 M' X  W% X" T% J
    我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。9 @' T( u$ v, ~* \% f
    function [w] = bfsf1(g)$ O: ~% X( t- D6 X5 ]& z
    %广度优先搜索! R, x) ~9 u' {3 h' Y$ u
    %g:邻接矩阵。w顶点标号
    * q2 C0 I" ^, p3 Y0 E# u& H' fn=size(g,1);
    : r0 e' G9 R( P7 J0 _w=zeros(1,n);6 {5 r# A& a4 `- u, n1 n8 d
    l=0;
    ' j$ Z. n8 z" dv=1;! [$ [6 V9 X$ F2 ]2 Q2 ]$ P5 H
    a1=find(g(v,:)==1);
    * U1 T. a3 u& o; vg(v,a1)=2;) L2 D6 t, M  ~6 |" ^& T
    g(a1,v)=2;+ c0 q3 b, g% E
    w(a1)=l+1;/ T* A5 ~6 E! ^" R  ~
    s1=union(a1,v);
    0 M9 }, {5 M  O5 N( i% vl=l+1;4 [) y& {  v4 Z$ C: m6 W
    while~isempty(g==1): |1 `4 k2 N9 `! b
       a1=find(g(s1,:)==1);) q4 M1 n- p3 F. t5 ]- `
        t=length(s1);/ \2 Q) _; D. y$ C
        d=[];
    * F: k; N3 l4 k3 v    for i=1:length(a1)
      B  M( D. e: b( F        if a1(i)/t>floor(a1(i)/t)
    . {; ^, {6 t( u) g7 A            t2=floor(a1(i)/t)+1;
    ; {( ]0 p5 j! [3 f        else
    0 M  ^6 ]6 t+ v( Z2 H            t2=floor(a1(i)/t);
    1 h/ ?9 p7 k! r, L5 f        end  ]0 }/ @$ a* E, y* ^) Z0 t! w) I
            if isempty(intersect(d,t2))1 s& G8 I, K% a& a: Y8 B
                d=union(d,t2);
    ; h0 Y6 {1 b2 G: W9 u6 J7 C; ]        end' w" m) o  t% C1 {5 j5 l
        end& ]' v8 n! U, M  J
        d1=setdiff(d,s1);
    4 F& ]* N; H) y9 b5 m+ F8 F    if isempty(d1)
    9 ]2 P' K9 T0 C* t4 c% i# o: U        break;
    . V; ~8 d( x: d4 s6 b    else! R6 y( i$ H+ C3 {7 |& Z4 @
            w(d1)=l+1;& m7 E0 `) _0 I/ E6 C! a* |( Y
            g1=g(s1,:);
    . P+ W% J$ U! ?" D        g1(a1)=2;9 r* O5 }- H. i" e" l  y5 x
            g(s1,:)=g1;
    & n" i' k" t; L! m        g(:,s1)=g1';' }4 T2 P6 |6 w! k
            s1=union(s1,d1);
    9 e$ t1 f; p; }. z/ W2 p        l=l+1;
    3 \5 A, Y* \1 J$ K. O: j* f& ?    end
    : Z. l5 `8 ]% k! M0 Q: nend
    6 w$ `7 b0 n; `+ B4 u    / _/ c1 ~" A- G+ e4 c
    end0 n+ y" |" S) ~+ a7 ]- j% W
    6 h( H* O( \6 S3 M6 l, O
    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. h6 E& B% }' x0 e# J
    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    ! G/ n3 B4 D& G: A" K; a这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-6-7 01:33 , Processed in 1.993334 second(s), 67 queries .

    回顶部