QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6593|回复: 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)% A; X; i2 W2 q
    %求割点的算法 g为邻接矩阵 nc为割点的集合
    $ ^9 g1 ^' q& d5 Zn=size(g,1);  W3 ^) x6 Q" C5 R/ @
    if n>=3" Z$ d/ n9 z" S- C! G( l( E# K
        a=sum(g);! T, r2 \' C6 _( }
        b=sum(a==2);
    - T/ ?" p* I& N$ S/ [3 p9 D+ t- |    if b==n- d* d% X- ]: Q
            fprintf('本图为圈,无割点。n')
    ; K6 |) h* j1 }( i; S! h) E        nc=0;
    # c2 _6 ^5 b& v8 r, C0 ~    end
    , S6 \1 O4 @- B2 H: D. J0 Melse' g4 \6 i" x, v: J
        [w,k]=dfs3(g);
    ( W8 C; F% \* f3 _7 i0 E    %nc=[];
    ' @+ Y. H  y" I0 Q+ c9 z/ a6 J* s9 x$ ^    nc=isncf(w,k);
    ) N4 H& I6 J8 r  H8 d" i1 q    n=size(g,1);
    # U9 w1 F& X8 B! K    for i=1:n
    - Y9 Q4 A# T4 X  T        for j=1:n1 B% D! m4 o) V! c* \$ {4 v
                if w(i,j)>1
    + ?1 @- [2 H- u                if k(i)>k(j)
    ; W, w7 P, o- g                    g(i,j)=2;, O. h6 U3 s& t
                    else
    8 i. W& L7 u8 g0 J1 ?7 s$ k! f                    g(i,j)=3;* l+ c0 H$ x" Z( W3 [, e  ^
                    end, ^" t4 P* j4 p5 l
                end
    $ K0 Q7 C7 ^' ?6 j7 g9 H! L        end
    4 V$ x: z0 c, [, o1 R- a9 z1 J4 Z  |    end# m) c+ |0 T, K( v7 U6 Y
       
    , p' C" L4 i' P5 r/ s' j    for i=1:n
    " A8 l* |* _1 ~4 `* \        f1=find(g(i,==2);
    2 z8 V( ^+ R3 ?% z: D* N        f2=find(g(i,==3);+ y8 t+ B7 t3 m6 K5 J
            f=union(f1,f2);/ h4 X% i4 Z7 I$ E, c
            l(i)=min([k(f) k(i)]);
    8 h; I, k* Y0 t- @. q    end+ b4 P. Q4 M. a9 C$ m
        5 K) o, g* y0 a. m; O5 I, m
        for i=1:n
    ' }4 X" Z% J* d  U0 B% @7 u) W6 \2 d        for j=1:n9 n* c# r8 Z- @5 ?* ^
                if g(i,j)==3 & k(i)>1&l(j)>=k(i)! j) m; B6 a" v) V* X% |6 ^
                    nc=union(i,nc);/ g# H1 @- q! q: b$ _
                end
    6 D- w( H+ T; z6 e( Z. ?9 |        end, t$ B$ S  Z6 |9 K; n0 `7 z, I( S6 @8 k
        end
    + C( e' f' w8 Aend, f3 U5 g: R2 Y9 z' l) [
    end  {) ]# u) H4 \' l* T- y( q0 @

    ; ~4 F# r6 O0 K+ l6 ?2 Z& S! w" E7 h4 I) q! v+ J
    function nc=isncf(w,k)
    & H: F- u6 G5 a* |0 o    nc=[];
    9 z" J  I3 r+ P5 W. _# D$ K    t=zeros(size(w));
    1 ~" X! |- U4 v4 Y0 E1 m    n=size(w,1);3 z* {" \3 B  \* j3 _
        a=find(w~=0);8 x  o4 g4 \1 G/ L2 V
        for i=1:length(a)
    & q7 u( p, Z& V. i1 i: J2 D        d(i)=w(a(i));
    + J9 j6 I) S. P        if a(i)/n>floor(a(i)/n)
    & Y1 q; y7 M- V0 l9 k          t(i)=floor(a(i)/n)+1;
    * j; F  h. e4 i) W% _9 y        else: I7 Y# @6 ?, M+ |
                t(i)=floor(a(i)/n);% `: |# N" ~' E& R; k0 V! L
            end$ H6 ^7 {8 b1 w  t$ ?- q
            t1(i)=mod(a(i),n);
    + O$ w7 F3 l, z  k  B: R        if t1(i)==0& N7 K! @) x$ i5 f0 U8 E2 K
                t1(i)=n;
    * p: V5 ]6 I% s& l% f2 \6 B        end
    . q, G9 c) p, a' m    end
    ) a( F; \6 n) A% \    [b,c]=sort(d);
    ( T! U7 t0 |4 S/ z9 W& N    p=[1];pc=0;, P; K& g7 o2 ^2 b
        for i=1:length(a)
    6 J" k$ F8 U9 ~' }& g        if k(t1(c(i)))<k(t(c(i))): R4 X% R0 @2 t/ A- k
                p=union(p,t(c(i)));5 V8 [5 z( p0 V( ~, j0 R0 L
                t(t1(c(i)),t(c(i)))=3;
    - d& T4 {- s1 ^4 v$ L* t$ m- q        end' s7 ?* H* a% b/ O( J- ~
            if pc==0% ^2 \. _; ~: V' h
                tc=isempty(setdiff([1:n],p));" q: r* a$ y: @
                if tc/ }6 g3 J! i- R6 `6 E
                    t0=sum(t(1,==3);
    % ]  I5 C# E& F: \                if  t0>=2" |. Y7 ?) ~. m' m4 a
                        nc=union(nc,1);1 A1 k  @, ]2 h8 k
                    end4 `8 o- D' x- r7 D! B
                    break;
    . }, G3 A$ y0 w$ r2 D6 u            end
    8 J  i) Z  E. c) m        end; b6 A. c; k# s* d7 A" E6 ]5 S
        end
    * j% l' Z# T$ u7 B) @9 j, x   
    . Q. S5 m2 B1 Q# s: n9 q  Y        
    5 o2 f8 ~0 ]2 xend

    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-10 00:22 , Processed in 1.152307 second(s), 56 queries .

    回顶部