QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6537|回复: 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)
    2 r& D1 T5 m* L: x2 ?9 B%求割点的算法 g为邻接矩阵 nc为割点的集合% T! C# D6 K  P3 j( I
    n=size(g,1);
    & b( E  @: A5 U& Aif n>=3
    % E% f; G1 V4 x3 [, Y5 \0 Q2 u    a=sum(g);: j( I, o: O, ^! ~; x  k$ f, I
        b=sum(a==2);/ V; B( a4 I1 A
        if b==n: G: s9 q+ y" V0 Z
            fprintf('本图为圈,无割点。n')
    ! r* N; x! d4 U9 e( c/ e: A( i$ T        nc=0;
    & U* f+ `; x9 ^6 v, p    end
    8 B( |- A- T, U+ ?else
    . \6 G% R. r" `4 _1 w7 A    [w,k]=dfs3(g);' @; Q4 g4 u* H2 p- c
        %nc=[];  l1 S6 V6 L! s# q5 ?* T: M
        nc=isncf(w,k);
    : ^5 a8 a# l! x( P% Q( C  Q    n=size(g,1);  Y0 S3 i& X( l* M- g
        for i=1:n
    , t$ L: h* O2 [# K        for j=1:n: Z. [5 ^" f, v. s. i. Y/ ]) L
                if w(i,j)>1
    1 h, p  H) U  D" ^& v5 S: u8 L. ?# z; N                if k(i)>k(j)& ]& k4 }  E6 R+ i& g( n' @
                        g(i,j)=2;- \/ r5 T6 S+ i/ p
                    else% y% `8 H7 p. S4 a2 B" B
                        g(i,j)=3;. w( l) l! K1 ^! I+ n, T
                    end
    3 C7 e7 H$ p2 x) @% Y            end
    7 ~& S8 v+ Z1 d8 f        end
    2 a8 o% ]( O8 I; v# L) ?6 t    end7 n' G1 ?' X: }- L" b: c) K
        # M8 x$ k" M: e+ t0 @. S9 L% X
        for i=1:n
    3 d$ R  _9 d4 G; E( B        f1=find(g(i,==2);- m" g( t6 b: G
            f2=find(g(i,==3);  X2 S/ ], z8 A7 y/ ~  T8 f' k' Y. F4 i( V! U
            f=union(f1,f2);8 N7 S0 h# D' H7 f3 ?7 l
            l(i)=min([k(f) k(i)]);
    . d1 }! Y/ k0 \3 s9 y. y    end1 C; C3 a4 r, A! G* \
       
    4 o3 Y$ F7 t1 \$ j; u# h    for i=1:n! {! W8 R- e' f* [" ^+ b. I7 j
            for j=1:n
    ( ~  q7 A1 v/ Q3 r            if g(i,j)==3 & k(i)>1&l(j)>=k(i)9 s. X7 R5 ?; q0 \
                    nc=union(i,nc);6 c1 v) R4 D4 X6 R7 d
                end6 c1 r) p7 P/ S
            end
    : d6 N  o5 L& n/ c  v+ a5 C5 g    end4 J0 W* J. H1 E, c
    end' F  u  H+ [- S( u' s% t8 ]
    end1 p" P5 x. x; s5 L
    5 p$ K8 D6 P+ c
    : ~, L6 H8 S) |' M# v2 g
    function nc=isncf(w,k)# E" [+ D. Z) I0 W
        nc=[];2 P# f% F: a9 {5 Z
        t=zeros(size(w));# p6 R+ B4 q+ k4 g' o$ S9 _
        n=size(w,1);
    9 V) }4 ]/ @, _    a=find(w~=0);
    ! S2 R$ h8 o1 q8 d5 {( w: h    for i=1:length(a)
      N4 y* ]" X9 g, @9 W3 m        d(i)=w(a(i));  N6 P& o, f; U' Z9 m  M* N
            if a(i)/n>floor(a(i)/n)
    3 Q9 [8 e% K/ L9 g          t(i)=floor(a(i)/n)+1;2 `& o3 Z& I: V. z' I7 ^. E
            else( j' w: h! g# }% W
                t(i)=floor(a(i)/n);
    / n. F& b2 O* Z6 C  P        end! t( Y4 z  p  X0 |' n/ m4 R* O
            t1(i)=mod(a(i),n);
    8 J' i/ a' q0 Z2 n3 R9 {1 `9 z4 T        if t1(i)==0: b3 c' @3 P1 b% e" K7 E
                t1(i)=n;+ l" q# o& ~2 B9 }9 L0 r; z
            end! t7 ~6 T% |# X  v, w5 |
        end
    8 ~& y4 p# e) e1 b    [b,c]=sort(d);/ N8 u$ b, D- ?- j4 K2 g
        p=[1];pc=0;
    3 ?/ y; V5 D! L, `3 M  K    for i=1:length(a)
    # x% {- {: Y. r* Q, V        if k(t1(c(i)))<k(t(c(i)))+ z# U+ i) R2 ^
                p=union(p,t(c(i)));
      r6 Z( o$ g- q; A6 e            t(t1(c(i)),t(c(i)))=3;  M6 z3 e- o% d5 t+ c+ ]3 ]% z
            end
    # a- ~' G$ R  Z6 i4 v        if pc==0
    ! ~& y0 [# O) T            tc=isempty(setdiff([1:n],p));
    0 z* ^: m( Z. k8 e9 ?% x7 E) I            if tc  A5 U8 G3 C( Q6 |3 |. R
                    t0=sum(t(1,==3);; `. H: d( N4 i7 n6 P0 W6 G
                    if  t0>=2* D; a- }; D, P* T- O0 ^& X
                        nc=union(nc,1);
    / n" ]! Z. I1 E( A# U/ k* n! h# `                end2 M* p' N$ L! ~
                    break;
    " B: f( x1 F) \. Y            end2 A* L# j4 R- i/ m- G
            end
    / `# r. |8 U  G( W1 [- b7 H+ ?    end* d, h3 ]8 C. e: \/ a
        * F2 |- I, r) d- D# s
            2 ^6 R; b7 E- ~& W$ K( P
    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-7-23 00:08 , Processed in 2.544048 second(s), 58 queries .

    回顶部