QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6436|回复: 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)* J- M; o( b6 w; I0 ?
    %求割点的算法 g为邻接矩阵 nc为割点的集合/ H, E7 v1 E3 `
    n=size(g,1);; }6 S2 ?$ y9 K* P/ l& V
    if n>=3  o$ v9 U! O& g1 t, M
        a=sum(g);
    8 g  |, l: ~) g4 T    b=sum(a==2);* I; `" {* T8 a" B: X3 m
        if b==n! {/ l9 ~- |# |1 U2 ^* l' y
            fprintf('本图为圈,无割点。n')
    ( Y4 }" V. z* O2 x/ M        nc=0;
    4 I9 h8 h5 U7 n    end
    , e2 y1 W( k; s' o' z, Z& S9 Delse
    & P4 N1 y! C+ E  g1 {    [w,k]=dfs3(g);  }4 v9 J1 m" f- D; [
        %nc=[];
    / ?4 O) x9 M6 S+ \! n: S* H7 j    nc=isncf(w,k);  V+ e4 D' f: W2 r2 X
        n=size(g,1);
    ! B4 o% U! Y: d) M* \' g  L9 j    for i=1:n9 L5 ^) k+ h- M2 f  `8 |; H
            for j=1:n9 ]( W8 H: B6 F( W
                if w(i,j)>1* \; D5 a% i7 ^
                    if k(i)>k(j)9 B- D  f) N6 T- h) Q* }3 O
                        g(i,j)=2;
      e' K2 J: i! u8 D; x& x                else
    / q$ Z' Q/ T/ ?& `% e                    g(i,j)=3;
    ( e1 H/ ?7 ^7 M2 F& C9 @5 v5 v                end+ Q8 S( C: \- m/ D1 p  J8 H" j5 Q( }
                end
    & r  a/ j. x9 D        end
    " r* F4 R, Y7 h9 ^! F$ _' ~5 G    end
    0 ^# A3 [5 p. ^/ n: V9 E    8 k' e( g+ u. C* \0 M
        for i=1:n1 v( X9 X2 p5 Q. D8 R
            f1=find(g(i,==2);) n$ D0 l  g0 ?; c; Y  v7 [  F7 W
            f2=find(g(i,==3);( j7 C' F2 j2 B% `, p; a
            f=union(f1,f2);, `# [% X; S& x5 g: G( W
            l(i)=min([k(f) k(i)]);
    % R7 W5 W8 ?  D& r' G    end1 p5 e+ Z+ |8 {( f. p: D5 I
       
    3 ]! K  _+ p' i    for i=1:n* [. R. a8 v, k2 b! b, _6 ~
            for j=1:n
    + T% A0 l, }/ f8 z8 c- C            if g(i,j)==3 & k(i)>1&l(j)>=k(i)1 S5 z1 J6 ]0 K3 I0 J3 u" y& p
                    nc=union(i,nc);
    . z' ~* Y3 ~' q$ v3 l  Z            end
    8 y0 s. m( D+ ^$ f7 ?) p        end7 y1 i+ V( t5 J3 u4 Z; T
        end
    1 M  q3 H" Z. M$ Eend3 d# r6 @# ?' f) K7 J& y( F3 }" Z
    end$ Q% X) `4 Z* d' ]3 W

    / F% b) F. y6 B2 G5 g
    1 J, Z; Z1 Y2 g* r4 F  Y0 @function nc=isncf(w,k)
    9 I% R) B# p* K9 Y6 Q    nc=[];; E5 v8 V  {4 L" K0 {$ T# P
        t=zeros(size(w));
    8 F, i- q+ d0 [# L5 a, {    n=size(w,1);
    ' X: C; ^. U0 R5 H" Y4 T4 ?    a=find(w~=0);. ~" M& @4 b+ s3 u# ^$ ^
        for i=1:length(a)- o4 Q. I+ O3 ^6 \( i1 p# p
            d(i)=w(a(i));# l3 x+ k: e  K) o2 z( O2 N
            if a(i)/n>floor(a(i)/n)
    6 j" a& F3 I  r( Q* T8 |          t(i)=floor(a(i)/n)+1;
    ' j. [$ A, w0 z6 g# r( _        else. i4 U1 w6 K/ b* w6 b
                t(i)=floor(a(i)/n);
    # F- Y. P% L+ O  k; u! Z2 u        end6 O! }4 P0 c' F9 ]
            t1(i)=mod(a(i),n);
    3 }5 k$ S% ?: T        if t1(i)==0% p% I5 M$ X' E* i5 ~
                t1(i)=n;( X. e6 G! v4 R- T* z$ x. ~
            end
    4 r( ~$ H2 P& K' x8 i' D    end( T. w1 w9 v: m4 |1 f3 X
        [b,c]=sort(d);
    " {, J5 V5 R0 G! ]! B6 {& t    p=[1];pc=0;
    ! |1 d# i7 o3 z4 \5 k; q    for i=1:length(a)
    7 ^: D% z1 U+ Q$ L" U        if k(t1(c(i)))<k(t(c(i)))3 t6 L+ I; V  H
                p=union(p,t(c(i)));
    - M( G: b. X* w1 x1 [2 G3 g            t(t1(c(i)),t(c(i)))=3;
    5 R, ]* P& ^6 F' Y% N0 t; {$ W        end
    9 p' N9 m( J. o7 |7 j) c6 I" f        if pc==0; t. J. S! }4 F2 L' X
                tc=isempty(setdiff([1:n],p));
    2 y* k1 \6 t, T            if tc
    $ D0 ~1 K) [) T/ h$ h5 |& N: Z                t0=sum(t(1,==3);
    - F  B% G: C7 a- {- M                if  t0>=2
    + ?/ l8 G. S/ W  R3 u& R. j                    nc=union(nc,1);8 `  s9 }4 Y' U7 w& p
                    end
    4 I9 T) t: G6 ?2 ~* w6 r' x. {" v                break;
    $ e0 r. V) k; L6 c            end
    / T, w" {7 f  ~; S1 t  _) A        end, L/ r* x0 Q3 \7 U3 y
        end
    1 b3 B+ E% b1 C   
    0 W$ i- @; @+ V8 m9 ^; n        0 S6 ~, G. X* K9 T+ A9 s
    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-4-13 10:34 , Processed in 0.434646 second(s), 58 queries .

    回顶部