QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6175|回复: 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)
    4 a' x9 s( c3 m# |$ \%求割点的算法 g为邻接矩阵 nc为割点的集合
    5 {4 u+ k5 }. ]9 V: h' K, wn=size(g,1);6 h# [* `9 z% M: s1 Q& @* l3 I# @
    if n>=3
    ! n3 T* A" ?$ ?6 \/ f    a=sum(g);8 b' n3 W7 _) O5 F4 x# [
        b=sum(a==2);! s3 _+ Q' e) u1 u. s* x
        if b==n: {2 a/ e2 E/ b7 Y
            fprintf('本图为圈,无割点。n')0 H" u1 Q% y2 b( ?# v4 S6 k
            nc=0;
    1 n/ K6 P2 D- c5 \9 t    end; Z' p3 H7 O  R; s
    else! s) {& g  }* q  K# T$ c" t# E
        [w,k]=dfs3(g);7 ^& A. [' @: w8 E4 @7 K
        %nc=[];% K/ t- c6 s! l8 y
        nc=isncf(w,k);
    ' K0 w7 Z! x8 [: A/ ]) [: V3 @    n=size(g,1);
    0 U7 U$ {4 r8 L    for i=1:n3 H1 c" x' H. v% _8 |9 b
            for j=1:n, _0 E. a+ c1 t- K; P3 j
                if w(i,j)>1, y1 _9 H2 `( h+ ^4 f0 z( }  D; Q
                    if k(i)>k(j)
    - r' U) z; C" d  \, Z  ~* h+ I                    g(i,j)=2;4 j7 W4 r+ m2 J4 Q7 l1 f) @
                    else
    4 F+ o) O' ~" ?7 W  w( P                    g(i,j)=3;
    3 Z3 j6 t2 f' y5 d; g1 q# Y% ], `+ ?                end
    2 L+ _: h9 ]% |, e6 A4 B: f            end
    6 ]* f7 G  T$ {% z1 ~1 {, y        end! }" K( F! C8 O0 ]" d% p# u9 L
        end; S' h& N, s& b2 |" ~0 ?0 m
       
    + O2 I- p8 H# v! z    for i=1:n5 o3 _. O' i4 H8 U. ~+ F0 A
            f1=find(g(i,==2);9 n/ G5 e9 Y" t" v+ B
            f2=find(g(i,==3);
    2 m4 p. f2 X; S$ E. E% p        f=union(f1,f2);
    9 g7 b/ E" C& F, T; u% R& \: B        l(i)=min([k(f) k(i)]);, l/ [5 j& [* F- a% f
        end& ^" U; h2 T7 `+ U
       
    . E1 E! S% ?/ {- ^9 p; g- n: A    for i=1:n6 J6 I# r; _; ^4 K
            for j=1:n  B0 c* C- m3 K- a' x7 a% q
                if g(i,j)==3 & k(i)>1&l(j)>=k(i)
    * S+ a* n$ R+ V, r                nc=union(i,nc);
    + ^; |7 E7 l& F5 C9 [5 Y( {8 e            end/ N& l7 g0 u' H+ K) g
            end7 u5 C- u8 u% k5 z* p4 b- @7 F9 Y
        end
    & \; T" a/ n) Z5 l6 J  Xend
    / ~, r7 [6 `, E6 ]" c8 Eend
    ! r& _" d3 l/ e* V) m
    9 Q8 Q8 R' ]1 k  d) Y2 T( l* I2 z7 E; H: i; L7 v9 }9 O5 C. m5 Y
    function nc=isncf(w,k)1 R, c, k& i7 |: O
        nc=[];
    4 g  E& S2 g/ g    t=zeros(size(w));
    8 d1 j/ `: P' {9 M    n=size(w,1);8 g+ |+ a4 o8 H, ?' }. n
        a=find(w~=0);
      C" V6 ?8 O! H# B- A& u    for i=1:length(a)4 O. u& H- C& V/ M
            d(i)=w(a(i));
    ) P0 x! t, C8 O1 I% R/ `* C- Y        if a(i)/n>floor(a(i)/n)
    ! M) |7 e, f& k          t(i)=floor(a(i)/n)+1;1 L+ {- N0 D' i! @) Y' {% d
            else5 ?1 S5 j2 q$ u# l8 {* }* Q
                t(i)=floor(a(i)/n);
    $ V5 c0 T1 ]  a8 ?0 T        end7 N5 E9 n* y) \  A
            t1(i)=mod(a(i),n);
    + F2 t' Q1 m: P5 e: K7 H& N        if t1(i)==0/ ^% O% u+ p4 T+ n+ m
                t1(i)=n;% x& P1 {/ c9 X) O, F  A
            end! M2 q9 a0 I) P: ^6 o& p
        end! i) S: F) |, h5 d# `, I' g
        [b,c]=sort(d);
    7 X1 g9 f3 G' v, y% a# |    p=[1];pc=0;
    % h0 L- A( P3 n# g8 h9 h1 p    for i=1:length(a)
    6 o! `( I# Y: l; ?        if k(t1(c(i)))<k(t(c(i)))
    , k& P4 z0 V( R            p=union(p,t(c(i)));
    0 o9 q- k+ X6 R            t(t1(c(i)),t(c(i)))=3;
      k8 U$ _0 ^0 N) c% @  [& X; k2 K& R        end
    % k4 z6 y! |; h0 u) l! [! u        if pc==02 f, e9 }9 G4 G, ^1 X
                tc=isempty(setdiff([1:n],p));+ T9 n3 b" t0 x* A  L# h
                if tc
    ; X' k- F% k/ @7 U: b# Z; A9 n* `                t0=sum(t(1,==3);6 }. X6 B/ U# i: z- f) `/ F
                    if  t0>=22 j! z" ]  y' j
                        nc=union(nc,1);! g4 n( S7 v* f5 t5 e7 d
                    end0 H7 \' |( ?7 {' J
                    break;6 w/ J* \* d( o/ X9 a/ S
                end. g7 X5 B$ y/ g; g
            end
    ! I/ H4 _5 k+ r3 \" f    end
    . h% }" h) G2 X9 Q& H7 H$ f   
    ! D1 a- W, S+ p. p; x        8 E( \2 R! ^$ r! T- E+ t) j+ B
    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, 2025-8-23 21:50 , Processed in 0.559312 second(s), 57 queries .

    回顶部