QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3581|回复: 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))是同一个意思?
    * n3 s2 R8 _, O5 U我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。/ q/ L" ?3 E) x9 w
    function [w] = bfsf1(g)
    # k. @3 G# S+ Q. W%广度优先搜索
    % b! n8 W# {+ q%g:邻接矩阵。w顶点标号8 J9 f% A; s" `0 f$ _9 |+ [2 j
    n=size(g,1);7 S1 h$ z- L3 ]* c8 r# L$ j8 n
    w=zeros(1,n);! `% b: z. n3 N+ Q/ U" x
    l=0;
    & }' b2 M, s. X/ `v=1;: c+ M. N0 k9 A, A9 X" E& f
    a1=find(g(v,:)==1);3 [# ]' u! }4 o
    g(v,a1)=2;
    ) W6 w" _0 U+ ~1 Y! D* g) J+ G! bg(a1,v)=2;
    ! ~1 j/ F- r# u, I# s2 l9 X+ {w(a1)=l+1;
    8 M; b. ?; E9 R! n* Bs1=union(a1,v);% Q$ G& I8 k; ~7 ?/ u
    l=l+1;
    5 R4 x7 `* G( r7 Z. X2 ~) @$ Nwhile~isempty(g==1)$ V9 N1 \- q- d- U3 r8 a! P
       a1=find(g(s1,:)==1);- P  k# W. c: o& w" A
        t=length(s1);' f- h0 m) }1 q- B! p
        d=[];* D5 N+ Q- y7 J: u) U
        for i=1:length(a1)7 C: ^+ i9 A6 c+ M; \& B! r
            if a1(i)/t>floor(a1(i)/t)
    4 s2 {2 R: n( _, u" \. ^            t2=floor(a1(i)/t)+1;
    & `4 n6 o4 W( h/ }8 [        else
    ! I$ s4 J0 z, a8 N( t1 ~            t2=floor(a1(i)/t);
      `2 J, ~- x9 K8 `" M+ B+ X        end
    ! |; H! G! x' z        if isempty(intersect(d,t2))
    5 d; k3 g: r5 {7 {7 ?' |            d=union(d,t2);
    ! R* X& \: ~: C9 G# i% e        end
    8 ^& M  Y6 C2 {' O9 n+ g; X2 X* y    end. U. p% i* R" y* W" F" Q) G4 W2 n, ~
        d1=setdiff(d,s1);
    5 N- x. r' p7 [9 }    if isempty(d1)
    / z8 H0 a0 Y0 L        break;
    7 I8 m& ?" k0 h/ ^; j9 G  b% j* s9 O    else
    . e" G+ n% y$ b( y% `# E. |" ?$ c# @+ _        w(d1)=l+1;% L9 C6 G2 ?! U) n+ f
            g1=g(s1,:);
    ' E% ]/ x2 I% W( h. f        g1(a1)=2;
    $ \  N2 W% M7 ~9 O/ w' S3 B        g(s1,:)=g1;
    $ e) o& W+ A& P3 }$ k; l1 |        g(:,s1)=g1';, k, r% b3 f7 i
            s1=union(s1,d1);
    * z- {* @0 M+ Z; B! k0 z        l=l+1;
    : h! x: Z5 _6 i: m/ p) @2 ^) M0 i    end' J3 L7 \4 R3 d
    end
    " y0 ~! d2 d! o$ @   
    . ?' p$ v0 l7 r* eend
    & Z, H) `) u. F9 N2 F: Y3 N& [
    7 ~9 A( c; U' P$ u. X
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    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 , a3 P2 L0 Q/ M! \5 f
    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
    * c" d% h! d' Y* g
    这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

    9

    主题

    7

    听众

    188

    积分

    升级  44%

  • TA的每日心情
    慵懒
    2013-8-23 15:15
  • 签到天数: 84 天

    [LV.6]常住居民II

    自我介绍
    我想参加明年的数模竞赛

    群组西安交大数学建模

    群组数学建摸协会

    群组英语科技论文写作实训

    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    点评

    madio  这种情况在右侧点击“禁用表情”就没有了。  详情 回复 发表于 2013-3-2 21:34
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-11 18:29 , Processed in 0.301782 second(s), 70 queries .

    回顶部