注:此代码的实现需要以邻接表的实现为基础,邻接表的实现在上一篇文章已给出。(将本代码放入其中可直接运行)
https://blog.csdn.net/weixin_42394170/article/details/108719980
深度优先遍历
深度优先遍历只需要依次访问结点即可,实现较为简单
//深度优先遍历
void DFS(LGraph* g,int *visit,int v)
{
printf("Node: %d\n",v);
ENode* p = g->a[v];
visit[v] =1;
for(;p;p = p->nextArc)
{
if(visit[p->adjVex]==0)
DFS(g,visit,p->adjVex);
}
}
void DFSGraph(LGraph