QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6494|回复: 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)! E7 ?1 r1 c) Y# h* z# x( `1 C
    %求割点的算法 g为邻接矩阵 nc为割点的集合
    - H: Q8 @: ?1 i3 C; z) z& z3 in=size(g,1);
    9 {5 F2 j& ^; {: S3 J9 ~7 g- N8 ~0 }if n>=3
    0 T/ \& v. F* Q: u    a=sum(g);& B+ v# J  I6 g
        b=sum(a==2);
    ) g9 N& J! ~1 `( F: {% Z    if b==n4 w, V0 T) M# T0 g7 }
            fprintf('本图为圈,无割点。n')
    5 E; ~" y* ]( i1 i5 Y. G, Z        nc=0;! z& J1 P8 ]5 F( A3 d
        end& v# L1 o, z8 D
    else
    ) P* y4 A' @  \8 s. L    [w,k]=dfs3(g);
    ' @2 T: J( }4 F& W' H0 }    %nc=[];) X/ X# A" |+ P( G
        nc=isncf(w,k);0 P8 g6 a  d+ U1 H$ ?
        n=size(g,1);4 {5 l& [0 c" x7 c
        for i=1:n
    0 m1 C8 m- L. Y: P1 s: g9 ]6 L. l        for j=1:n
    # i, S5 C" W( l. T& r            if w(i,j)>1  m, m. e6 W# D( m) Y8 t) @) R" l
                    if k(i)>k(j)
    " {  P6 Q1 ^! X# @3 n                    g(i,j)=2;  {8 o1 o: e- _, W" ]# {" V" e
                    else: t; [' T! [& Q8 c7 F0 l8 g
                        g(i,j)=3;/ P, _# R# q! g( c: ~8 S0 |
                    end
    1 [9 y1 r8 g8 v2 K: z            end2 A  N/ d3 z# m) H8 ?4 S+ E- s/ I
            end% z4 M4 e( q* I# P# K
        end; g# K" |; X/ Q. V8 Y
        ! B+ `0 L, w% e
        for i=1:n4 a* @% m7 u3 X/ s
            f1=find(g(i,==2);
    % O. r! n+ V; V9 e        f2=find(g(i,==3);
    9 @% @$ B4 G0 j- ?* T3 ~$ V0 P4 n        f=union(f1,f2);
    ( J; {$ L. N  e. ^& U- I        l(i)=min([k(f) k(i)]);0 m& u* n1 I- U# c5 _0 ~! d
        end4 `0 c- F; F- h. p8 a( m' d
        / y( F% E1 {* c
        for i=1:n2 `, T! E% I" R/ r4 v
            for j=1:n
    5 {4 c8 \! `. m5 c- ^/ a) X; k            if g(i,j)==3 & k(i)>1&l(j)>=k(i)
      j! a! a) w8 N  _7 I4 F                nc=union(i,nc);: n2 c% q4 j8 W# D' C
                end4 D+ _2 l2 h. D3 g
            end
    , e5 w: j0 ?$ a* a  K5 y$ r  Z# G    end
    + l# F8 i" D( ]  b7 T* Y8 r) {6 Oend& Q5 S) m( H! X5 b# z
    end0 S3 @) [. J& D+ Y' z' k. s

    + }2 l% U1 n: V
    ( c; {( U( v2 i- l( {8 m' Mfunction nc=isncf(w,k)
    8 n) q* P, Z) Y2 f1 N    nc=[];
    ! T7 L$ s" l4 C5 }5 q    t=zeros(size(w));
    # c. M$ L+ O6 c    n=size(w,1);; p/ x) X1 u7 {$ i3 e4 z( ~
        a=find(w~=0);" I% l; w4 a# \) c  C8 d
        for i=1:length(a)
    0 |& L$ T1 ?. b) R        d(i)=w(a(i));5 y; f' Z  m8 K7 h+ }/ R0 O
            if a(i)/n>floor(a(i)/n)
    $ e) P6 R2 W! v; o8 s8 k2 f          t(i)=floor(a(i)/n)+1;0 b( s. T+ X1 y' }# f1 p& N2 V6 v
            else1 r$ r+ w: e- l- N
                t(i)=floor(a(i)/n);- }" q! w6 r$ Y! G9 p+ H
            end2 r" x- G1 A- V% N4 k* X7 m
            t1(i)=mod(a(i),n);+ A" @  _4 G. i: j* ^
            if t1(i)==0
    & F7 ]  w; a% S            t1(i)=n;
    1 g7 g! E5 p5 g+ E        end' ^) K( z& I6 g( C& d9 S
        end7 Q, C9 c( z8 {4 x+ U# k) ]* Q( L
        [b,c]=sort(d);
    3 _4 o& |$ ?/ A, x# ?8 w, |    p=[1];pc=0;
    . K8 E( x7 C# x' w- v) K    for i=1:length(a)! m6 m5 e9 C* u. y: C6 ]3 ]
            if k(t1(c(i)))<k(t(c(i)))% }9 {8 s/ e, }% O9 `! r
                p=union(p,t(c(i)));/ T$ b0 U; b7 D  G4 i/ A
                t(t1(c(i)),t(c(i)))=3;" D1 D- v0 P) \$ |
            end
    7 d# q, }6 s6 v" ^* P        if pc==0
    ) o! C0 \0 P: C# U3 W  N/ w2 S            tc=isempty(setdiff([1:n],p));) A% p6 k$ X) Y/ ?9 ?# h2 `
                if tc- m5 `% [3 A9 F( d3 q3 A/ l: A
                    t0=sum(t(1,==3);/ y  o5 K2 m7 ~) n; A. M3 f7 t: i
                    if  t0>=2
    9 L/ R) e- I- d% L2 L$ t' Y                    nc=union(nc,1);" U% v. U; R/ X3 w2 I4 r$ b% `
                    end& D" l1 O. x. Q; g5 U
                    break;
    ' ?' m+ E% o. e: F$ L* Y            end
      j1 V" p. Y5 y& ~- o        end
    ' T/ h1 e8 S3 W$ f, G, d: N) J    end& k+ E+ k$ y, i4 U2 C4 V5 ]
       
    ' j6 ~# l4 O5 X5 g3 x) y' j        % z$ E  U9 ]8 B# J$ G- w
    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-6-6 23:48 , Processed in 0.420577 second(s), 58 queries .

    回顶部