主观

设有向图邻接表定义如下:

typedef struct {

     VertexNode adjlist[ MaxVertexNum ] ;

     int n,e; //图的当前顶点数和弧数

}ALGraph; //邻接表类型

其中顶点表结点VertexNode边表结点EdgeNode结构为:

阅读下列算法,并回答问题:

(1)已知某有向图存储在如图所示的邻接表G中,写出执行f32(&G)的输出;

(2)简述算法f32的功能。

int visited[ MaxNum ];

void DFS(ALGraph * G, int i) {

EdgeNode * p;

    visited [ i ] = TRUE ;

   if (G - >adjlist[ i]. firstedge = = NULL)

   printf( "% c ", G - >adjlist[ i]. vertex);

else {

   p = G - >adjlist[ i]. firstedge;

    while (p ! = NULL) {

      if ( ! visited[p ->adjvex] )

      DFS( G, p - >adjvex) ;

      p = p->next;

       }

  }

 }

  void f32 ( ALGraph * G) {

   int i;

       for (i = 0; i< G->n; i ++)

           visited [ i ] = FALSE ;

         for (i = 0; i< G->n; i++)

           if ( ! visited[i] ) DFS(G, i) ;

}

参考答案
您可能感兴趣的试题
¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服