QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3642|回复: 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 K) ~  Y; |7 ?* M) u# G! N% C6 Y我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。% e( n# Z: Z6 X6 i- E8 r5 i
    function [w] = bfsf1(g)% r3 {9 f+ e# X: H, x# F
    %广度优先搜索5 y, ^  ]1 l, O8 t8 t6 D
    %g:邻接矩阵。w顶点标号+ y2 c- Q& I+ f/ E0 y
    n=size(g,1);
    & v2 B. Y# @. w9 ow=zeros(1,n);5 y- _$ U; Q# A9 u: G
    l=0;
    ) d. G, Z8 v* g, Qv=1;
    8 c7 h1 c  Q% W7 A; Y$ p; ba1=find(g(v,:)==1);3 Y# e0 V- z) _, L. y! `' s; V: N
    g(v,a1)=2;
    ! F8 D+ L  R* O1 ~4 J( ig(a1,v)=2;: J- i8 T( c' H; h
    w(a1)=l+1;) k3 x2 K6 k  ^; m
    s1=union(a1,v);, v0 W" Q. b3 I9 [% F
    l=l+1;
    * z: F0 C  H# m2 P4 J9 d# @; ?while~isempty(g==1)# Y% m$ c1 ]3 C+ ^+ u/ |
       a1=find(g(s1,:)==1);) e/ r. {, G0 {( n" C  y* O
        t=length(s1);/ F" O# B( `# p7 M- n5 i2 D
        d=[];
    / Q0 Y; ~5 y& Z  o    for i=1:length(a1)) M  o; z: x' o3 Z9 S
            if a1(i)/t>floor(a1(i)/t)% |; h7 x2 k/ ?, @' ~. [; }
                t2=floor(a1(i)/t)+1;
    * y- C! H. ^& g, G0 _$ N7 D        else
    ; A% O- ]/ L; |, r9 [! X            t2=floor(a1(i)/t);6 a. i+ u1 @! r, K; ?0 p4 m6 m+ Z5 `
            end$ h; ?4 c- Y& T, i1 L; C) A
            if isempty(intersect(d,t2))! c4 O. Q9 n# j; H# I( w
                d=union(d,t2);
    5 I. S0 z5 ~$ S/ c% I) a        end
    & y* k2 T( {% w' k' {( E3 n* j; x& u    end
    + l+ u+ X: Z$ N5 Z1 c6 @, f    d1=setdiff(d,s1);- r, k& b# A- l' B- U  i! ?2 R
        if isempty(d1)
    ; e( ~- g! \  h8 Q5 A+ k3 p  U# W        break;
    & ~, ~$ G6 X; j5 C- |8 W    else* q6 k% i2 W: h
            w(d1)=l+1;7 }0 H. Z* b5 k. B4 B
            g1=g(s1,:);  ?  v) s( l+ V/ x
            g1(a1)=2;* p- N5 _6 P7 |% S" v' P; m
            g(s1,:)=g1;8 L( T3 E2 E. V- u. n1 O
            g(:,s1)=g1';
    ' |) Z. \$ L) a3 s9 F        s1=union(s1,d1);* h! B6 W1 W5 O" i3 ^* w7 }
            l=l+1;) G+ I; |' F) t# O% }) [
        end
    / H+ V. n7 T) O( Rend
    1 C, Y" z  `# l: W0 v    . ^1 K, g% T; |1 g- h2 j
    end
    2 h  ?' k& ^6 l2 s( U# o6 w2 E
    . \3 o  A, W$ N, ~
    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 $ I( v) X; Z7 w) B$ X
    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    3 k5 p+ o8 N- h这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

    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-7-22 09:03 , Processed in 2.076568 second(s), 70 queries .

    回顶部