QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6498|回复: 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)3 H5 ^' n+ @- A3 w5 k# Z
    %求割点的算法 g为邻接矩阵 nc为割点的集合
    1 w7 ^, H# V, Gn=size(g,1);, x! {  e, a$ V
    if n>=3
    8 {* x# g" E" l; J) k$ U    a=sum(g);
    ! I! ]( I* D; n, a    b=sum(a==2);
      f5 O' J# C2 H+ {3 Z2 W    if b==n1 w/ w8 h1 y7 r; l1 t' E
            fprintf('本图为圈,无割点。n')0 W: H* C  J8 h% ~" \7 ?
            nc=0;
    2 @- w. }7 T) t1 u    end! J9 q+ y  f# o8 b3 d: w/ P
    else( x  q3 X* G) d0 M1 A
        [w,k]=dfs3(g);
    " C" Z3 G7 ^6 o    %nc=[];
    . T7 Q: P4 P1 A4 @    nc=isncf(w,k);& }9 u6 |3 I8 y$ J+ V. y* h
        n=size(g,1);
      @* L) E. U3 L5 t* ^$ B    for i=1:n/ V7 m5 u7 [0 m! Q2 g  r
            for j=1:n" E( D# G! I3 t- d6 a5 f
                if w(i,j)>1
    & k- l  H- U6 `; L, }- N/ }                if k(i)>k(j)
    9 i3 d4 I$ X) J; ~) F# b5 l                    g(i,j)=2;# A" u+ }$ M5 |/ j5 A# L
                    else
    3 h/ N, c- y2 i" d                    g(i,j)=3;( i% s- H; ^! ?3 t) o$ b+ W! `4 ^0 ?
                    end3 @0 ?! h& Q, n) H; O
                end( O9 w) w1 C0 v8 S1 d
            end
    , r/ G2 D- @% |4 y    end
    / A0 t7 _0 o" j    0 O2 c) B7 Q7 s/ w& t
        for i=1:n
    2 m9 R; X% n' h  r        f1=find(g(i,==2);! ]3 e/ @- C5 N5 @( i4 m
            f2=find(g(i,==3);$ F/ X- B5 r% }4 w
            f=union(f1,f2);
    * H0 m* G- O, I- ~8 _# U8 f        l(i)=min([k(f) k(i)]);
    ! a& t4 Z1 b6 O9 g+ T; N    end( K2 p: J5 x/ t4 ?3 a" d
       
    - @3 y# Z5 \8 o    for i=1:n5 g1 O% P4 U. w
            for j=1:n+ l; C! |/ F( T) K
                if g(i,j)==3 & k(i)>1&l(j)>=k(i)9 G: v  ?" s5 y& r9 g5 d3 I$ U
                    nc=union(i,nc);
    2 P* [5 k8 t, g" M4 M- o! f! z            end
    5 b/ k* n% Z0 ], V/ I        end  T: V( Q: \/ e5 B  B9 D
        end' D8 R* b6 y% S
    end# c8 q% @2 w, `
    end
    3 O3 G3 I5 M) x8 @% n
    7 F, |- j) A+ |' ?7 B% x: K! e  ]" r2 O4 m
    function nc=isncf(w,k); h. ]( }! ]$ U' v) M  z4 B
        nc=[];
    & R* W3 M, A9 ~8 D: N2 K7 g    t=zeros(size(w));
    # O2 J& ^! a! F$ R" a    n=size(w,1);
    " v1 f6 w8 ]/ _    a=find(w~=0);6 Y3 O' u3 U9 |* ~$ b" C# G
        for i=1:length(a)
    . c# N- E' N% H5 p* t        d(i)=w(a(i));' D" F5 N5 I! U
            if a(i)/n>floor(a(i)/n)
    - F& ~2 H/ @' ?0 e! `5 e          t(i)=floor(a(i)/n)+1;- S/ [/ O  X- s+ q  I
            else, |4 Y% z" e9 S" [& m2 P8 |! V
                t(i)=floor(a(i)/n);/ z2 x+ l4 W+ T/ J- d0 L
            end2 W# L5 v5 j% Z
            t1(i)=mod(a(i),n);
    . p; S$ D/ C# [1 x        if t1(i)==0
    5 N! u/ ^& D- g' l8 o) \! a            t1(i)=n;
    ( ]- \6 u! I7 ]8 x! \        end
    0 t0 [. G+ k- y  J    end
      p+ M) [5 t. H0 o1 J1 S- I    [b,c]=sort(d);
    . h$ u! g) A+ k' D  Y    p=[1];pc=0;
    9 B/ g! c" h2 R% \7 Q6 w    for i=1:length(a)" z  Z. j; H+ _# e) A
            if k(t1(c(i)))<k(t(c(i)))( t8 Z/ n# z1 _. T: m4 a
                p=union(p,t(c(i)));% l0 b. r  z1 v3 r
                t(t1(c(i)),t(c(i)))=3;7 ?1 Y2 n( s3 K; e
            end
    ! L  W  q* _4 d# H9 {6 O        if pc==00 G; @7 U+ i  a) [- ]9 l
                tc=isempty(setdiff([1:n],p));$ y+ t* ~6 b3 e. J# d4 m: c
                if tc
    & X, f+ w5 n; \7 c                t0=sum(t(1,==3);3 B7 H- g$ V) h; p" [7 O
                    if  t0>=2- _3 p  \2 f' ~( N
                        nc=union(nc,1);
    . I& e: _/ G) a/ g- H                end
    9 b/ S# Y: G0 s) w: t/ }                break;& Y8 Z" [) x- C+ L; r2 Q2 t
                end
    / R  P; Y$ k1 [0 J3 M        end: }, a* t' K( n8 d- Q0 R
        end# G) Q5 W$ [& Q2 j- k
        2 C+ \* d# w* k. c: }
            
    . L( ~+ ?# N% ?( V3 I/ L9 Send

    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-7 10:12 , Processed in 0.422995 second(s), 58 queries .

    回顶部