图的DFS遍历
图的深度优先遍历算法,重点在深度。它的意思表示为每次沿着一条路径一直往下走,一直到不能再前进为止(当前顶点没有邻接点或者所有邻接点如果存在的话都被访问过了),然后退回到最近的岔道口,沿着另一个未被访问过的路径走下去。
本文默认读者已经掌握了图的相关概念,此外邻接表的实现笔者使用的是vector数组
1. 图以邻接矩阵作为存储方式
直接上代码了,我做了清楚的注释。
const int maxn=100; //最大顶点数
const int INF=10000000; //定义一个极大数 用此代表两顶点之间没有边的存在。当让也可以用零表示,在输入的时候,没有边的就输入零
//使用邻接矩阵实现的图,深度优先遍历算法。
int graph[maxn][maxn],vexnum;