QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6060|回复: 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)2 S: F, Y1 u6 g6 H
    %求割点的算法 g为邻接矩阵 nc为割点的集合! a  q; D( e, k9 J4 y
    n=size(g,1);( Z. w! R1 i! K4 |% W& e  D. }
    if n>=35 J# |* W9 n: k/ T
        a=sum(g);1 ]& Q) q: e- ^# ]- B! _$ E( `
        b=sum(a==2);: j, o3 ?& F" P# W6 p9 L9 ^/ D
        if b==n
    ; m* C5 O# j$ B+ c5 b/ p' h. ]        fprintf('本图为圈,无割点。n')
    6 m5 k! Z0 M. ?        nc=0;
    9 h3 O. [! C: ^! R# d! G# z3 W    end; p+ p- b1 \9 a( Q
    else" K3 f7 q6 e; o2 A
        [w,k]=dfs3(g);) e8 a$ h; c6 Q0 a# K  ~
        %nc=[];
    . f+ V$ G6 K( p* ]0 ]    nc=isncf(w,k);
    & S# f& y) D; F0 ^1 t    n=size(g,1);3 ]8 w& L* Z4 \/ X: W
        for i=1:n
    3 ~. ~( A. S$ }: P9 k% y2 P. F        for j=1:n
    ! U) a" P/ |  W+ L8 B4 O+ V1 D            if w(i,j)>1
      Q+ T: O/ C2 D/ J# U! f                if k(i)>k(j)
      R" Y: n- B9 f6 _                    g(i,j)=2;
    8 G$ }  V! `! a                else( w: R3 a# y. ~
                        g(i,j)=3;- G/ F' n! F- y+ |" ^  S
                    end
    8 t& _) A. l9 Y# w8 H: T            end/ G; h" x3 _' M& u! {
            end0 y: O! @( i2 }8 k' l  X7 X' {
        end
    2 K: b' \+ ~" S! Q5 V% D   
    ! F& B& |/ m+ a- S- Y- ?    for i=1:n
    2 f( v/ m0 ?& y9 c/ I        f1=find(g(i,==2);
    1 H9 u. N- l+ ]2 K# ^% k; |        f2=find(g(i,==3);+ W" Y& A' j: ^2 X
            f=union(f1,f2);
    5 ]8 k6 V8 `$ ^" p! Y* B        l(i)=min([k(f) k(i)]);* i: a$ b6 ~9 v; U) J
        end' X6 ]4 j, c+ |( r/ f3 a+ A
        2 A' T% S, A$ C9 D
        for i=1:n; |4 C8 ~9 j3 c) K
            for j=1:n4 S* O2 Z! K: O, C6 J! [0 j0 m
                if g(i,j)==3 & k(i)>1&l(j)>=k(i)! j; m3 z- r9 K! M; G
                    nc=union(i,nc);1 i$ r( m7 f- ^" E
                end
    6 j4 D1 g; F0 v3 j3 E  j        end
    ' Q3 L4 F, c* t" b    end( ^: U5 d/ N4 S9 Y  t
    end- C  |' y' g% I" @9 o* ~
    end
    6 o4 K# |3 D; {/ W) t6 S3 z6 [4 I/ L5 v3 j- ~7 S

    / Q% F+ N8 S% A* _$ d5 M$ v. sfunction nc=isncf(w,k)4 ~% @8 m. [/ @+ V3 C
        nc=[];) W8 }9 q6 h9 }) w
        t=zeros(size(w));
    ( {7 ^! C4 Y  r9 I1 N5 Z    n=size(w,1);) i: v" }( E: ~9 a; L  b6 |
        a=find(w~=0);
    8 @* R! j/ b# S/ N" h# R4 {, H5 U    for i=1:length(a). M* t& \3 J; d. V  e; C/ e4 c4 {
            d(i)=w(a(i));) t/ X- M- X5 l3 Y) Z
            if a(i)/n>floor(a(i)/n)
    & a5 R8 c* J2 |          t(i)=floor(a(i)/n)+1;
    / a) R$ l! y8 Y3 T. U        else& L8 j0 J2 y% i
                t(i)=floor(a(i)/n);- ^" `9 ^) o0 T! @9 C
            end4 \2 I* n! T5 m1 [0 V) b
            t1(i)=mod(a(i),n);  j' M% r# t+ G4 p; I, `
            if t1(i)==0
    * ^* n( J0 G9 M0 {0 X            t1(i)=n;# V0 Q: a1 t: e" Y# s  [
            end
    8 Y/ q! W8 D0 N* h    end
    : c* g( H+ ^# w+ |! o; f    [b,c]=sort(d);
    4 c5 y* I9 L3 t) N7 w    p=[1];pc=0;
    ( h8 V5 R. c. C9 K. W" t: c    for i=1:length(a)" @( u, e3 Y! F5 O& v4 i. q7 }
            if k(t1(c(i)))<k(t(c(i)))
    % A! \0 F  J, @7 j/ v            p=union(p,t(c(i)));
    % t2 X9 m$ J1 \3 |6 y1 p3 q5 V% s            t(t1(c(i)),t(c(i)))=3;; {3 M+ [) c6 _4 u' }2 |# N
            end& E+ I% a2 Z* N
            if pc==0
    . b5 j- r4 S4 c2 @6 u            tc=isempty(setdiff([1:n],p));; O$ S* b5 x+ Y3 K5 ?5 r
                if tc) s3 C1 V" c( a. A/ U
                    t0=sum(t(1,==3);5 O" [' j+ y( ?5 D3 ~8 c
                    if  t0>=2( D5 m  ?* E: o) i/ H
                        nc=union(nc,1);: _; a- V  n- g: U: L4 R- S
                    end. [: k8 w. g& U$ P, A
                    break;
    . n) Z3 `( W) J! d6 k' W8 S7 U            end
    ( ]% g! W& A/ v) ]& y        end- O& _( ]8 a( S  g& w
        end
    0 y: E) C: M, x7 r7 Z. z' M# t    7 H) f. X, [3 d) M4 v$ [
            
    . W  P) H7 q/ Y0 H* x7 ]4 qend

    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-7-13 08:48 , Processed in 0.586882 second(s), 57 queries .

    回顶部