QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3648|回复: 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))是同一个意思?* P6 z' P2 K& u1 u& w
    我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。3 M6 h! V, W2 _7 }% _  o8 P6 N) u
    function [w] = bfsf1(g)7 [" h+ g4 q4 f4 G
    %广度优先搜索
    : w4 J+ g- |. M3 q, A%g:邻接矩阵。w顶点标号
    1 G3 o8 ]0 S) g; d; {. r) Xn=size(g,1);4 v  S4 z- e% B& S$ j; A
    w=zeros(1,n);- C+ \, m/ D) o* v" M
    l=0;
    1 C1 ^6 i$ {) ^5 S2 P3 ^  E6 nv=1;
    # C/ Z, l% q/ s4 \/ h. X. Ra1=find(g(v,:)==1);, v. r; \) m. S$ o
    g(v,a1)=2;1 L8 |2 }1 G1 _+ C
    g(a1,v)=2;
    6 ^! {* m$ a4 {, cw(a1)=l+1;: N9 [1 ^1 B3 A- X( m
    s1=union(a1,v);
    2 e3 U/ V2 G! c0 a% P6 x+ ~l=l+1;% l+ \( y. u8 ^9 y9 v
    while~isempty(g==1), p+ H& z! l9 I7 u  q% k
       a1=find(g(s1,:)==1);& ^# d% P0 k+ b7 g- D/ e' P
        t=length(s1);
    - d. ]6 r% I2 j- W* s7 G    d=[];
    - r- z( g+ O. @# j4 {' A+ z    for i=1:length(a1)* Y4 D+ i/ n/ p  O9 {7 t( `0 ~; y
            if a1(i)/t>floor(a1(i)/t)8 B1 j% }* t) e0 Q  h  [" y
                t2=floor(a1(i)/t)+1;
    # e; \, t' N' D        else& a) G0 n  v1 d$ |* [( X8 l  M
                t2=floor(a1(i)/t);: X& l- A3 u+ D; {9 Q
            end
    + u3 Z3 U* [1 I6 j, ]        if isempty(intersect(d,t2)): f$ h& p6 o# v/ a4 `) b, ]
                d=union(d,t2);1 J; J$ ^$ C+ `
            end
    & q% X. ^, @. H8 M    end
    # i$ G9 s1 m9 Q' L; r    d1=setdiff(d,s1);
    . Z/ U4 C% }5 h2 f( o    if isempty(d1)1 g% {6 l6 f$ m, z; j
            break;' l$ f4 J: g2 o
        else
    : x  L2 ^  W1 ~( x9 O/ Q  l        w(d1)=l+1;
    % v- m: M+ o. O7 g: e+ B7 Y4 k! ?+ `        g1=g(s1,:);
    ( l+ ^4 j9 K% v0 }# H/ E; a        g1(a1)=2;) x% K6 m6 P* F1 W
            g(s1,:)=g1;0 m$ e) g3 N; E6 x
            g(:,s1)=g1';
    6 g# Y, H% a* k6 h+ f' I        s1=union(s1,d1);1 k+ y$ J% \" B' A: ?
            l=l+1;5 d3 h8 s) x5 l- m" x, F
        end
    8 ]2 u+ g# B6 ]0 Jend
    0 B/ e" G0 s+ X, [# ~    . C5 c8 _2 M7 R2 Z5 @# E
    end
    + X) O% z( m3 Z" r$ L3 ?3 B0 Y, _* v0 H
    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
    4 ^( Z: m- S; h0 P% H帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    , M6 Q1 s9 A0 i; v0 ]" Y+ B. i这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-23 08:04 , Processed in 0.420455 second(s), 71 queries .

    回顶部