C语言代码实现用递归的方法实现深度优先搜索遍历连通图
时间: 2024-06-03 08:09:13 浏览: 101
数据结构-c语言-带main函数-图7.3-图的遍历-深度优先搜索-递归方法-邻接矩阵-有向图。
好的,这个问题我可以回答:C语言代码实现用递归的方法实现深度优先搜索遍历连通图的逻辑如下:
1. 初始化一个访问标记数组 visited[],并将其初始值都设为 false。
2. 从起始节点开始进行递归遍历,遍历过的节点打上访问标记并输出。
3. 对于每个被访问过的节点,遍历它的相邻节点,如果相邻节点没有被访问过,则递归调用深度优先遍历函数。
代码实现如下:
void DFS(int node, bool visited[], int graph[][MAX])
{
visited[node] = true; // 标记已访问节点
printf("%d ", node); // 输出当前节点
// 遍历相邻节点
for (int i = 0; i < MAX; ++i)
{
if (graph[node][i] == 1 && !visited[i])
{
DFS(i, visited, graph); // 递归调用
}
}
}
请确认是否有其他问题需要我回答?
阅读全文