-->
当前位置:首页 > 题库 > 正文内容

程序填空题:深度优先遍历邻接表存储的图

Luz4年前 (2021-05-10)题库1560
```c
/* 深度优先遍历邻接表存储的图 Graph */
typedef int Vertex;
typedef struct AdjNode {
Vertex AdjV;
struct AdjNode *Next;
struct AdjNode *FirstEdge;
}AdjVNode;
typedef struct {
AdjVNode G[MAX];
}Graph;
typedef Graph* LGraph;
/* 邻接表存储的图 - DFS */
bool Visited[MAX];
typedef AdjVNode* PtrToAdjVNode;

void Visit( Vertex V )
{
printf("正在访问顶点%d\n", V);
}

/* Visited[]为布尔类型的全局数组,已经初始化为false */
void DFS( LGraph Graph, Vertex V, void (*Visit)(Vertex) )
{
PtrToAdjVNode W;

Visit( V );
@@[Visited[V] = true](2);

for( W=Graph->G[V].FirstEdge; W; W=W->Next )
if ( !Visited[W->AdjV] )
@@[DFS( Graph, W->AdjV, Visit )](2);
}
```






答案:
第1空:Visited[V] = true

第2空:DFS( Graph, W->AdjV, Visit )

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。