QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3380|回复: 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))是同一个意思?) @& X& D* F0 O& v7 E
    我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。- S1 `) l, U6 U. B$ G1 c. r% k: N
    function [w] = bfsf1(g), E2 p/ l9 B) s' E
    %广度优先搜索3 i+ z% Y& w* i5 Y
    %g:邻接矩阵。w顶点标号
    , m0 N& k1 }6 i6 Zn=size(g,1);/ K% K" k9 f4 l4 F& |
    w=zeros(1,n);
    2 Y* M% M' |0 i) \l=0;
    / _! v: a& v6 d8 s0 w# r: D" C3 Hv=1;- _/ |1 m; y$ {0 X6 @  H7 a9 O' \
    a1=find(g(v,:)==1);3 R' M: c3 M: w" I! i2 g
    g(v,a1)=2;
    6 G$ Y6 T3 M/ N/ J9 Hg(a1,v)=2;5 W" x% }+ B  [5 ^- Z
    w(a1)=l+1;
    9 u4 X* m' ~) X0 }! B  m: M0 Ys1=union(a1,v);2 d, G2 t2 Q) `  X
    l=l+1;1 a. ^) s: n8 p
    while~isempty(g==1)# {. N6 H, V, L3 [# d& o  H
       a1=find(g(s1,:)==1);' S2 O& s! v% |1 T& x5 i
        t=length(s1);9 F, L) j) [3 J) o1 y) V# Q
        d=[];
    . _* }( l) n1 l$ w  q- J    for i=1:length(a1)
    3 @4 r4 a1 x# ?* |8 `        if a1(i)/t>floor(a1(i)/t). o. t2 z1 A0 C1 p
                t2=floor(a1(i)/t)+1;1 a" E. K8 T  L4 q2 j0 E
            else
    ) g3 e0 r3 [6 G2 x            t2=floor(a1(i)/t);6 l. [/ e: j2 [, F# v4 j; t2 Z
            end
    1 h" Q& X; G6 i% D! K  {7 t  K! s        if isempty(intersect(d,t2))
    ) ^# }: @& P7 S9 ^; L7 b            d=union(d,t2);
    9 a7 I3 A1 \0 B7 Q        end
    & y6 j% n6 o( s5 Y$ A( X    end
    7 ]+ r" ^1 Z* F# i/ [* H. N$ ?    d1=setdiff(d,s1);8 C0 f0 q; N7 u' k( o# K: D6 h
        if isempty(d1)
    ! x' r% P* L; x: I% v1 J$ \        break;" Q. ~7 H) n. u1 |
        else
    & Y2 `& M! F) k+ ^* a! F        w(d1)=l+1;
    . \5 B! z7 V! Y        g1=g(s1,:);# D2 \# @" `" T9 m
            g1(a1)=2;+ T7 R$ K  o& b5 _- y
            g(s1,:)=g1;
    # v9 u2 x3 b1 R; h        g(:,s1)=g1';: \' A& ^3 Q/ ^
            s1=union(s1,d1);3 m# P* T" W! c2 A
            l=l+1;3 u4 N9 G7 V( D% ]- g7 [
        end
    , d! F( `* K  y( ~8 H, R' r& cend9 d3 M( G  `- E/ v' N3 T
        7 F) Q  _7 I7 K; e
    end7 u7 N/ w0 V1 i3 ?+ r! m
    - F# u  [6 f: U% C% n8 ?
    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万

    主题

    1311

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    ganquanlife 发表于 2013-3-2 17:04 . |# w2 p3 v2 Z, W
    帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    7 i2 h, r+ i) V5 }4 U9 K6 \9 E# `这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-8-16 02:33 , Processed in 0.559733 second(s), 68 queries .

    回顶部