for (int i = 0; i < MAX_VERTICES; i++) { if (graph[v][i] != 0 && !visited[i]) { dfs(i, visited); } } }
时间: 2024-04-28 07:25:09 浏览: 32
拓扑排序(C语言实现)
这段代码是在深度优先搜索算法中,遍历与当前顶点v相连的其它顶点i,并递归地访问这些顶点的代码。具体来说,它完成了以下任务:
1. 遍历与当前顶点v相连的所有顶点i,即遍历邻接矩阵中第v行的所有元素。
2. 对于每个未被访问过的相邻顶点i,递归地调用dfs函数,继续访问i的相邻顶点。
在代码中,如果graph[v][i]不等于0(即顶点v和i之间有边相连),且顶点i没有被访问过,则递归调用dfs(i, visited),以访问顶点i及其相邻的顶点。
需要注意的是,该代码中使用了全局变量MAX_VERTICES,应该避免使用全局变量,而应该使用传参的方式将顶点数num_vertices传入函数中。
阅读全文