QQ登录

只需要一步,快速开始

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

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

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

9

主题

7

听众

188

积分

升级  44%

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

    [LV.6]常住居民II

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

    群组西安交大数学建模

    群组数学建摸协会

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

    跳转到指定楼层
    #
    发表于 2013-3-3 14:54 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    2体力
    function [nc] = ncutf(g)9 s* N% E+ A4 c  Q* I0 n7 ?
    %求割点的算法 g为邻接矩阵 nc为割点的集合( \$ i* c1 U" W
    n=size(g,1);
    5 H, s; m/ `* R6 G  gif n>=3
    8 X* d( c  N0 p' y; I4 q' ?/ B    a=sum(g);/ u7 c3 D" v6 d# W
        b=sum(a==2);! e: ^+ K& K, w" M) T) q: `+ a
        if b==n
    9 j7 Y3 k/ [3 S        fprintf('本图为圈,无割点。n')
    . @5 y+ o2 z! B) X: V+ g        nc=0;
    " T; f/ x" T$ C6 X* M9 O    end5 d4 ]0 J9 `6 `/ O5 c
    else
    : D8 m6 q' v' I0 D5 w8 z    [w,k]=dfs3(g);6 _) l0 u6 y2 A6 b8 s4 d; ?7 T
        %nc=[];5 W, u1 v! O" {
        nc=isncf(w,k);
    : i: c% h( c" q1 k( I0 Q1 R3 j) ~    n=size(g,1);
    * ~9 p$ m& v7 e9 b1 I    for i=1:n
    9 n& K* U0 C9 |9 H: G        for j=1:n& \% |2 v6 h& f" a* U" F
                if w(i,j)>1& N8 v" x1 ^" i3 n- x0 o: R5 n
                    if k(i)>k(j)! K& u3 G2 t; D9 a& D
                        g(i,j)=2;
    / [* L; e6 l, e! i7 }; J7 {# W                else
    9 Y4 e$ `* i- k# y6 C                    g(i,j)=3;5 ?- M3 h: e% {' P1 ^$ A
                    end$ \; Y% N% i3 U* k
                end7 i+ p! L( {- |$ ?- f
            end
    : |. a( B" A' a    end
    5 U' s- f2 p: ^. C   
    ! ?& O: N/ M% i( m: |$ |' @/ z    for i=1:n: Z* T$ Z. V5 a8 Q( E2 C
            f1=find(g(i,==2);
    $ A# x  u: J2 u) F        f2=find(g(i,==3);
    9 X4 d% z% V+ g  T# u        f=union(f1,f2);: r' ^. }+ Q+ i8 Q
            l(i)=min([k(f) k(i)]);
    7 o) |6 |! d# c, m7 V; K% V    end
    $ g0 r2 M/ c1 {   
    ; |. X( O' h$ X2 A5 {- L) ^    for i=1:n+ m! K$ [  M7 X0 C# j( e
            for j=1:n
    9 i$ S* p  k9 K$ ?            if g(i,j)==3 & k(i)>1&l(j)>=k(i)
    ( L& }" ~* C& c5 Z8 @                nc=union(i,nc);. O4 f" B8 |' `8 z( C: Z  W* |9 A
                end" J0 A( }: |8 x  o
            end( o" l1 x/ P- e% H6 X
        end- W9 c" D0 F0 ^/ E# p. @* C' E/ o
    end
    % ?4 f) z3 f. D9 Z9 T. h3 k# ^/ K. Nend/ U, m3 n& V5 g. d- N* F5 m# X
    8 j4 U$ [% P. R3 W7 B/ T
    7 s! S. O7 E% a9 ~! j
    function nc=isncf(w,k)
    6 j" w9 L, {& P  i* X: q) X- z    nc=[];. J" s' u3 G5 o* {
        t=zeros(size(w));/ g, A. Q& U# a/ v+ |( h* d
        n=size(w,1);
    ; a- {8 T( w" R( F8 g2 \/ J' k    a=find(w~=0);
    / c/ O) X! }4 ]: s  J* @# U7 W    for i=1:length(a)
    5 D: h# F# ?. t& N, }        d(i)=w(a(i));) u8 z7 J* @# o  Q: ?& n. y
            if a(i)/n>floor(a(i)/n)
    ; |$ z" l1 Z1 K# N) K- t" U; N          t(i)=floor(a(i)/n)+1;
    : `5 W' e) ]4 ~$ G5 y& S- O4 I/ r        else
    0 Z& O" Z! S" \            t(i)=floor(a(i)/n);
    0 U8 n6 U& |3 d8 S        end/ D$ _3 h2 {" b# d/ n/ b
            t1(i)=mod(a(i),n);
    " n5 z6 F3 d) e        if t1(i)==0
    & W. T2 x: ?  B$ J0 R; d            t1(i)=n;
    * g+ H# ^" P# G" J        end7 g6 L; E0 s7 K- f& v/ O4 ^: [& d- Y
        end
    9 k, j( G& v: d# J    [b,c]=sort(d);9 a5 q' m0 K5 r; x9 {7 B8 h
        p=[1];pc=0;
      B9 `, t4 S0 s" F    for i=1:length(a)$ [4 f9 N+ L- [; I
            if k(t1(c(i)))<k(t(c(i)))4 v/ P7 [0 X0 F' O8 q, i/ ^
                p=union(p,t(c(i)));  ]& U: ?9 \/ d, S5 ]; r% U8 M& `
                t(t1(c(i)),t(c(i)))=3;! P6 q& z9 k  d- ^3 X& @4 l
            end
    " L+ D; |& |- ~0 }2 g: W        if pc==0$ {- ~) p. L- |" C) o. O
                tc=isempty(setdiff([1:n],p));
    5 x+ Y% f3 ]4 a, j& ]+ h4 Q- B2 o, d& e  Q            if tc
    6 Q# h( D  d1 L  ~: l4 S7 ?                t0=sum(t(1,==3);
    , U- ?+ K& G3 D5 Z( }                if  t0>=21 V6 h7 Q; V+ y% M3 z0 h! S' c( z
                        nc=union(nc,1);9 S) e5 v) r2 D0 ^
                    end) r% s6 {9 t, \5 w/ l% {1 G, u) V
                    break;) z: d- j% N0 ]
                end
    7 `' p9 {# a% u        end5 w$ z) u: `! x9 G! e
        end
    7 D/ Q2 ~+ O% ~0 g$ X7 s; Z+ @    ( P4 |2 @; ]1 i$ n1 ~6 E$ {  g
            0 f! n: y1 I; S5 \. 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-7 04:08 , Processed in 0.408715 second(s), 60 queries .

    回顶部