QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6541|回复: 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 Q. e" h0 O; v
    %求割点的算法 g为邻接矩阵 nc为割点的集合
    ( I+ n7 l0 U# T  s! @, K; vn=size(g,1);' o7 t; n3 g# n$ B
    if n>=3
    6 r/ D" ?7 S/ V' h1 s" G$ |% n    a=sum(g);5 h7 E/ E( K8 h' s+ L
        b=sum(a==2);( M5 X; C, d3 O& S/ T
        if b==n
    7 I/ m; l& Y5 [  [        fprintf('本图为圈,无割点。n')6 w$ J# w. ?' G
            nc=0;7 g- O+ ?4 _0 a1 I
        end( _+ O4 \' o- W. ^
    else
    - W- w+ i8 _4 f3 O    [w,k]=dfs3(g);
    2 J! b; q) ]% L- q    %nc=[];
    ) m" f. r) f2 I3 q' a! q/ w$ q    nc=isncf(w,k);2 e& k0 |& a# ]/ C+ g( |$ v' U
        n=size(g,1);
    4 Q! j; s1 o. x6 z9 E    for i=1:n# Y/ l2 g) t1 y2 \  g- e
            for j=1:n# B$ F* m6 W7 U6 O) d0 W
                if w(i,j)>1
    ; U7 Q4 S: c& H/ Z5 H( b1 ^$ G                if k(i)>k(j)
    3 P4 I& ]2 k1 X: U                    g(i,j)=2;
    " Y0 b; m% A( X- b, n. C2 q                else
    * W& ~( e+ A; [, `6 A                    g(i,j)=3;
      Z( L6 G+ b- ^" Q5 d+ ^0 ^                end" j& t2 l' k' M! i
                end
    . F; _" J5 D6 r) v1 G- r1 y        end
    - R) y$ z9 J5 }' l! E4 j1 B: q    end
    9 q+ t9 \' B1 e6 X3 r* l& p" s   
    ' }. B( a) I# ?5 S    for i=1:n  @5 X) ~$ w3 b  S( a
            f1=find(g(i,==2);2 |7 `) y! D3 M
            f2=find(g(i,==3);5 P8 }6 v2 j- D+ R7 Y! O' w. Y
            f=union(f1,f2);( U4 c* n$ T( r1 m8 ~
            l(i)=min([k(f) k(i)]);- A& ]; T: i5 ^/ S9 t, p% i; l
        end. |/ e+ |8 _0 W0 F: N6 F
        6 f7 R3 X0 j: g! p% o3 \* t
        for i=1:n
    3 ~6 }# W9 J2 y* n        for j=1:n
    & q, C9 W7 _$ {9 @0 \: _+ T* V0 a            if g(i,j)==3 & k(i)>1&l(j)>=k(i)# S$ u! R6 `4 y$ O' i
                    nc=union(i,nc);
    5 _. f# a  ^0 S            end
    ' |3 k. c, g8 w        end# a5 I2 k& f! ?1 G/ S2 Q$ u
        end" ?! H8 c! G: b9 P5 i$ a$ M
    end
    0 ^4 d6 k# q/ n7 w6 Cend$ V( o5 H* e) G! a+ y8 [
    # W: u, Q% G/ h1 t+ `+ [) v7 a8 S( E4 p
    - ^! o9 p) P2 l( X: {( T
    function nc=isncf(w,k)
    # B5 C% r5 O7 o/ F& `9 \1 [' c: K    nc=[];  |/ a: W! F2 _! @! Z( o
        t=zeros(size(w));
    . X3 D% q, C  p2 E. q/ K3 N# p, r    n=size(w,1);
    : m. K' O. v2 I! k/ [4 J' l    a=find(w~=0);. o% l; g" K' x9 S+ l" @* s
        for i=1:length(a), ~1 n2 W4 u3 k4 X
            d(i)=w(a(i));
      D& W0 D: C0 E" M: h/ A- I5 ?% m" O        if a(i)/n>floor(a(i)/n): P8 m. [3 E/ A7 N) O1 C+ L3 [
              t(i)=floor(a(i)/n)+1;9 _: z. g/ w+ v8 ?
            else
      P* o0 h& D7 R5 p+ A" o5 g& R            t(i)=floor(a(i)/n);
    4 H' D# Y6 i/ d+ O        end+ i5 x( e0 s& k  p9 A
            t1(i)=mod(a(i),n);
    3 S0 e5 h# J5 C        if t1(i)==0
    6 G; w8 d" o9 V2 ]& Q' m) C            t1(i)=n;; D1 e- L5 X  y% S$ N
            end3 B. }- O4 b% Z+ ]5 Y1 `; |
        end4 M+ s1 I; }; n; r
        [b,c]=sort(d);
    2 X- A% o) {5 N. I5 u    p=[1];pc=0;
    . E& I. w8 G* c; N    for i=1:length(a)
    / F0 P7 F: k% _& v, t$ ]  d5 Y# b        if k(t1(c(i)))<k(t(c(i)))2 U8 L# P/ K7 m. @" ?
                p=union(p,t(c(i)));
    1 \) H9 t% m- V! S$ t* y) _3 I: E            t(t1(c(i)),t(c(i)))=3;
    ( r& _0 a6 t, s3 {        end
    / {4 W; z  `& u  d        if pc==0
    & `+ a# [8 _7 {6 z3 k, ?            tc=isempty(setdiff([1:n],p));$ ?  ?3 _% i/ w7 d2 \
                if tc
    # f& o) n9 C1 G7 N- Z& @  p2 v2 C                t0=sum(t(1,==3);
    8 t' J! \2 \8 T! T" X( h                if  t0>=2
      _3 K: v9 @: ]$ A9 u$ u                    nc=union(nc,1);9 Z% B: v" ?% D) k8 q4 `0 T6 q' W
                    end
    + l' G, b8 S1 h7 {' ^                break;
    ) T- Y, S* H8 b7 R1 L            end
    3 F/ N1 ~8 I' J: D* O# s- n        end
    * V; U0 n6 s! s! s7 J' p* d6 n    end! A$ R; Y7 ~& t+ X" R+ B
        7 I# O4 c; ^. {; m1 R- H
            ' u2 ?: |: y# J0 ^
    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-7-23 09:01 , Processed in 0.302851 second(s), 58 queries .

    回顶部