首页 > 试题广场 >

一个图G的双连通分支是把边分成一些集合的划分,使得每个边集所

[问答题]
一个图G的双连通分支是把边分成一些集合的划分,使得每个边集所形成的图时双连通的。修改下面的算法,使能找出双连通分支而不是割点。

void
FindArt(Vertex V)
{
      Vertex W;
      Visited[V} = True;
      Low[V] = Num[V] = Counter++; /*Rule 1*/
      for each W adjacent to V
     {
          if( !Visited[W])  /*Forward edge*/
         {
                Parent[W] = V;
                FindArt(W);
                if(Low[W] >= Num[V])
                         printf("%v is an articulation point\n",v);
                Low[V] = Min(Low[V],Low[W]); /*Rule 3*/
          }
           else
           if(Parent[V] != W)   /*Back edge*/
                 Low[V] = Min(Low[V], Num[W]);  /*Rule 2*/
       }
}
                

这道题你会答吗?花几分钟告诉大家答案吧!