QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3644|回复: 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))是同一个意思?
    2 H4 e# K$ b% S9 E) b我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。
    0 S1 h/ G# ], G6 z# ~9 m  Ufunction [w] = bfsf1(g)2 @0 v, D3 _7 \4 C( S2 X2 R
    %广度优先搜索
    6 Y; C' `8 m9 |5 T8 ]+ [7 I%g:邻接矩阵。w顶点标号! @3 c1 E6 A+ ]
    n=size(g,1);
    5 q) z0 B$ v; S/ L8 F, u, g. Dw=zeros(1,n);
    ; ~/ `5 n0 l% t. n# ^$ B( \l=0;6 f" `) u* N! ]' R1 D$ ^; Z
    v=1;
    / W' H& W: P: W1 I7 ka1=find(g(v,:)==1);. a6 L) r- L. ]4 e
    g(v,a1)=2;7 v" I! n4 A3 q+ j& q1 A/ w
    g(a1,v)=2;: t' y5 M: q( a
    w(a1)=l+1;6 ~: N8 ~# f( Q* A3 b. E% B
    s1=union(a1,v);
    , u& D0 b  r/ F; `l=l+1;" Q  w$ I/ Y, d
    while~isempty(g==1)
    8 A  W* R+ w! P# \, S: i   a1=find(g(s1,:)==1);
    3 a1 l7 T$ |( x$ I    t=length(s1);- y, {' u- E9 B
        d=[];
      W# a6 r1 a+ e& J    for i=1:length(a1)
    . P$ ^2 X9 \& I& I6 F        if a1(i)/t>floor(a1(i)/t)
    ! Z) c5 L( L$ q2 f6 s/ I            t2=floor(a1(i)/t)+1;% ]* r7 v+ V" m' z1 z5 s! ?/ A
            else4 s, q9 h% x# v" b: Z% s' M
                t2=floor(a1(i)/t);
    ! M) Y( {2 p  X8 z! n9 W        end
    - w" _. P/ y! A. `3 z9 P  b! h        if isempty(intersect(d,t2))
    + t+ W7 ?5 `7 k: f9 K            d=union(d,t2);
    0 v9 B  E' d% H0 i" }        end- E+ Y; F; ?; p' |! {4 }6 w/ G- J; c! L
        end
    6 G4 e, _" @/ g. Z9 U, o    d1=setdiff(d,s1);
    . l. x4 p8 L3 t5 S* J! I    if isempty(d1)4 ?; B1 Y( }. p# @0 D
            break;' k! W& g7 {: w$ x
        else
    7 x" j) x# P% j7 w4 M0 l& X        w(d1)=l+1;1 `1 \. `) f: W, G
            g1=g(s1,:);
    5 f0 Q3 i( q1 n: c  H6 X1 d  ?        g1(a1)=2;8 Z" T+ {) G6 f9 b4 U/ z
            g(s1,:)=g1;
    / E! c7 |5 Z% r' I9 _+ {        g(:,s1)=g1';
    ( I, _! r- i/ G0 ]$ I        s1=union(s1,d1);( M5 C' G' [4 R* M4 I& I
            l=l+1;
    % m7 O8 u: y( _1 D+ c" _    end9 m6 f; u0 G7 F7 w% a6 P! P
    end
    0 n) ?* V2 p3 T+ D9 Q' K* X    & O6 |* N6 X% b* y, {( q
    end6 O2 b9 h/ h3 [  q

    6 U. a( [/ Y, Y1 Q( {1 \
    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
    - S, b# w! [* s0 [帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸
    5 d0 L- c7 j$ C5 V
    这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-22 22:48 , Processed in 0.317782 second(s), 67 queries .

    回顶部