QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6603|回复: 1
打印 上一主题 下一主题

[问题求助] 求助关于求图割点的代码,哪里错了?怎么改正啊?

[复制链接]
字体大小: 正常 放大

9

主题

7

听众

188

积分

升级  44%

  • TA的每日心情
    慵懒
    2013-8-23 15:15
  • 签到天数: 84 天

    [LV.6]常住居民II

    自我介绍
    我想参加明年的数模竞赛

    群组西安交大数学建模

    群组数学建摸协会

    群组英语科技论文写作实训

    跳转到指定楼层
    1#
    发表于 2013-3-3 14:54 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    2体力
    function [nc] = ncutf(g)
    - {; s- W; @  z% C" Q%求割点的算法 g为邻接矩阵 nc为割点的集合
    2 K! V  n2 G2 m  J! o0 W, \5 Kn=size(g,1);- O* i% j0 z0 |. e+ t# k
    if n>=3
    ) J3 _  }2 b" m# ?" u    a=sum(g);
    7 `0 @, [. j, ^$ m    b=sum(a==2);
    5 n# V- F8 b: V    if b==n
    6 A! l* I# X. L% g' E' R        fprintf('本图为圈,无割点。n'); M' d$ s: \: K7 N; v  l
            nc=0;
    9 {, Z3 g& I* s4 {    end9 Q( C' J) q5 W0 d, k- O- Z
    else
    - d9 Z2 ~* L* q% j) ]    [w,k]=dfs3(g);' O/ y- |8 Q  c4 o2 O! s! v4 W: p
        %nc=[];0 h! F* s& W" M+ n0 c
        nc=isncf(w,k);
    + ]& D8 q1 Z( s! `( m4 _, r/ C. j; ?, @/ _    n=size(g,1);- N8 O' C; L" G2 U
        for i=1:n
    , P% P0 o( m: E  _! J8 o/ J/ O        for j=1:n" q. H  D6 p5 }% A- w# T, w
                if w(i,j)>1" d2 v; T+ ~* o$ m1 i
                    if k(i)>k(j)
    7 }8 X* W' W6 r* R1 {7 {                    g(i,j)=2;
    ! O" T( H2 q3 |                else
    ( T# P2 p( g2 W5 X: Z* H                    g(i,j)=3;1 `, U  j* k6 @; R
                    end, g' x/ W5 M6 C. c5 o$ c/ `
                end
    2 ]% b) j% }! ^9 N* _  D        end& ?) i8 d" g( C  m
        end/ {! n2 h' }- P- ]6 H
       
    # o. W) h1 o  T% c+ [    for i=1:n# x% U! W8 z4 {& r
            f1=find(g(i,==2);
    3 y/ Q7 i! ~# S2 C& c        f2=find(g(i,==3);5 A# a$ ?; F4 o" v4 d$ _4 _  h
            f=union(f1,f2);; M) Z, k1 _+ N9 V& H( s$ z
            l(i)=min([k(f) k(i)]);( ]% b$ v- A2 d5 }) Q1 z
        end. c; l- a+ h. x- g/ ~) j4 t. y' w
       
    - ~! G5 P4 P, r7 n% X    for i=1:n" n. k% i+ N- @$ O) K- r: d& ]& ?
            for j=1:n- J8 p4 P2 P: M" n  H. D; k9 }( x
                if g(i,j)==3 & k(i)>1&l(j)>=k(i)
    # {. T& F  a6 l3 ?                nc=union(i,nc);
    # z* ]  ]+ A: ~% }. z  }" O- P, L            end7 D/ ~/ `$ X. m/ u9 E: m! [# V: a6 L
            end0 A5 b5 v2 W  U1 u: u( p
        end
    ! F7 ?& e; z8 ~  Q( U9 E& ^/ Pend
    - o$ m) X% q! r3 U' r: Q4 Oend
    ! j$ x0 ]& z7 E) u# J% c
    2 S$ v* A; l& K8 X0 g
    9 h4 }3 _6 G2 H* Lfunction nc=isncf(w,k)
    ; f$ c4 p' P. y0 l" a; k; k  ^    nc=[];# ^7 b: c, O2 @) f$ g
        t=zeros(size(w));
    * X. C! v9 w5 N/ n: B    n=size(w,1);4 C4 C4 w- x$ i5 Y8 [: Z0 @$ h
        a=find(w~=0);
    * v/ A: v8 R8 ~9 l1 y* S    for i=1:length(a)  j7 N& E; `1 e  A& Q3 k% E
            d(i)=w(a(i));1 C# w5 `' v8 S9 y( b$ m9 s+ r
            if a(i)/n>floor(a(i)/n)7 t7 H! b  r& W& p3 Q0 M; v; X9 R
              t(i)=floor(a(i)/n)+1;$ Q8 u5 D; j3 v0 U& _" B
            else
    ( W: b4 |+ M) `/ T& U9 Y  d5 V+ {            t(i)=floor(a(i)/n);
    : V2 H8 A% ^  V2 u. r        end
    : m' M7 q( ^: ~        t1(i)=mod(a(i),n);
    . o& @1 @- E' ]6 @' d        if t1(i)==00 j7 }  t' r  ~7 {8 C. e# l5 k
                t1(i)=n;6 B# f6 m; K1 E$ o$ x5 P( N2 E8 w
            end
    ) {7 K5 m) G; `9 E    end
    " c& _# Z; `* w7 `; B    [b,c]=sort(d);
    * X& t7 r8 I3 B- m6 e! [6 f    p=[1];pc=0;
    ) e7 q4 ]' v- {- L    for i=1:length(a)' N0 R. v# T- u* r7 t: k2 W* n
            if k(t1(c(i)))<k(t(c(i)))
    9 D2 k" G/ G. y: u            p=union(p,t(c(i)));
    : W6 j/ i: P& U4 ?. P$ K' q            t(t1(c(i)),t(c(i)))=3;
    : y! f& i! n2 B9 v) V, _$ G        end
    " ~$ R$ V/ c6 w5 K/ H, E  t" r0 O0 f9 G        if pc==0
    * D# j9 d0 Z3 ?( T            tc=isempty(setdiff([1:n],p));8 ]9 R& {3 v& a% _( H* j* |, n
                if tc
    8 s& K! s" ]  l  G                t0=sum(t(1,==3);
    " Z1 q  O5 ?9 T) Z1 u                if  t0>=2" W/ q7 a- ^; v" ^: \( J/ |
                        nc=union(nc,1);
    6 w# p" \/ M. e/ C* M9 f                end4 m  V$ m% @1 M0 C6 p- Y3 e
                    break;" O3 A  _# b2 h! h. M) f5 V
                end
    8 t3 e% d+ S9 R1 r: Q* J5 t        end# F8 A" [# Q0 x; E
        end
    5 p! C/ }+ i. b  J  h/ z! h) N   
    2 v& U2 ~) E0 O4 A. d4 o$ x        
    : U5 N8 v  |) X$ B( O. \end

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    9

    主题

    7

    听众

    188

    积分

    升级  44%

  • TA的每日心情
    慵懒
    2013-8-23 15:15
  • 签到天数: 84 天

    [LV.6]常住居民II

    自我介绍
    我想参加明年的数模竞赛

    群组西安交大数学建模

    群组数学建摸协会

    群组英语科技论文写作实训

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-9-11 03:10 , Processed in 0.392996 second(s), 55 queries .

    回顶部