电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

第四部分 图[5]


发布日期:2018/5/8
 

(三)图的遍历

深度优先搜索

Boolean Visited[AX];

Status(*visitFunc)(intv);

Void DFSTraverse(Graph GStatus (*Visit)(int V)){

VisitFunc=Visit;

For(v=;v<Gvexnum;++v) visited[v]=FALSE;

For(v=;v<gvexnum;++v)

If(!visited[v]) DFS)gV);

}

Void DFS(Graph Gint v){

Visited[v]=true; visitFunc(v);

for(w=FirstAdjVex(Gv);w>=;w=NextAdjVex(Gvw))

if(!visited[w]) DFS(Gw);

}

广度优先搜索

void BFSTraverse(Graph GStatus (*Visit)(intv){

//按广度优先非递归遍历图使用队列Q和访问标志数组visited

for(V=;v=Gvexnum;++v) visited[v]=false;

InitQueue(Q);

for(v=;v<Gvexnum;++V)

if(!visited[v]){

visited[v]=TRUE; visit(v);

ENQUEUE(Q<V);

while(!QueueEmpty(Q)){

deQueue(Qu);

for(W=firstAdjVex(gu); w>=;w=NextAdjVex(Guw))

if(!Visited[w]){

Visited[w]=TuRE; Visit(w);

ENQueue(Qw);

}//if

}//while

}//if

}//BFSTraverse

返回《数据结构》考研复习精编

[] [] [] [] [] [] [] [] [] []

上一篇:第四部分 图[6]

下一篇:第四部分 图[4]