QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3610|回复: 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))是同一个意思?
    % S) ^( B* ?1 Z1 C3 ?9 f6 r+ Q我个人理解,g==1除非g是空的,否则g==1都会返回一个逻辑矩阵才对啊,不会变成空的。/ M7 J* x; g8 V/ x7 F
    function [w] = bfsf1(g)
      [) B, M6 p' l* P! e- Z% q, a%广度优先搜索- \# o; f8 {/ ]7 p4 c3 g- b4 `
    %g:邻接矩阵。w顶点标号# f9 p/ M6 r# Q
    n=size(g,1);2 ?( H2 F: o. F5 k5 U
    w=zeros(1,n);* j+ K. c- f6 u0 I
    l=0;
    6 U, j6 `6 w  n6 ov=1;
    * c# w0 @' U/ t0 E  ]a1=find(g(v,:)==1);' x$ U/ d. ?. C) F
    g(v,a1)=2;0 y1 P! v. W4 ~$ a7 @; U( s$ j5 e
    g(a1,v)=2;9 @9 o- A% v  }0 z; ~7 ^+ j
    w(a1)=l+1;8 Z* @% z6 C. _2 x$ C
    s1=union(a1,v);
    0 E8 f% N3 N# k  F, R5 ?+ h1 n# U0 Il=l+1;
    5 J& \8 V. r7 r! i( ^3 Uwhile~isempty(g==1)
    0 r1 N7 C1 E' g9 K   a1=find(g(s1,:)==1);
    ' o  \) L5 Y" G' o1 F    t=length(s1);
    & ?" {: ?5 \) T4 B$ K  _    d=[];5 Z* Z; t* J( H8 N' Z
        for i=1:length(a1)' t8 p# L3 }# E9 J& |/ t- b
            if a1(i)/t>floor(a1(i)/t)  O; }( V# P* K
                t2=floor(a1(i)/t)+1;
    3 X+ l: U, O* {# }        else
    3 q% `! t' T- x, f  \+ O4 y            t2=floor(a1(i)/t);9 B7 v, J' p! E# C
            end
    ) E# _1 F+ M2 ]5 y% ~$ p. j        if isempty(intersect(d,t2))6 x% ~# `' j' @0 P
                d=union(d,t2);' {6 \- y7 C2 U- {9 c, o( X
            end
    ( I0 L: h! o! `$ o: i4 n; R; d    end# R* o' F, ^! g+ k7 g  k+ f6 [9 R
        d1=setdiff(d,s1);
    5 A& c/ J: w- `- Q( W1 X8 U    if isempty(d1)
    * a& z+ Z! D. w. G6 G        break;! E/ W' K2 p% \( `) r$ R( _
        else& d1 L# s1 @- }, m) y0 U! h% y7 }3 @
            w(d1)=l+1;4 i0 r' j3 h& V' j; o* }
            g1=g(s1,:);
    2 m( B7 S, H* W% d( p5 Y' b        g1(a1)=2;
    7 M/ y( Y6 ?" e6 ~        g(s1,:)=g1;
    1 ^4 a& `& f+ O        g(:,s1)=g1';
      c* m! J1 ]# w0 B8 r        s1=union(s1,d1);0 L& b# w+ e2 L7 S/ c# J8 S
            l=l+1;% w7 @% [$ p7 D- V0 R5 ~
        end4 h4 S4 S+ d; h! ^) w/ ]
    end, s" F) z' _  Z5 s* F+ Q
        + e- X" _* c* E" d7 A4 W. f& }
    end
    0 Z$ {! C& s' }! e( A5 B5 j7 P% a) [6 ?) R3 P6 q! q+ w' v
    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
    5 w# s, t! d; h, M1 n& u  v+ d7 {帖子里面的笑脸其实是: 和) 不知怎么搞的打出来了就变成了笑脸

    2 K) O. C$ b3 x  ^" Y% H, z这种情况在右侧点击“禁用表情”就没有了。
    数学建模社会化
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-6-6 14:13 , Processed in 0.645339 second(s), 71 queries .

    回顶部