输入量来自外部的深度优先搜索算法模板c语言代码
时间: 2023-10-13 13:04:18 浏览: 39
以下是一个深度优先搜索算法的C语言代码模板:
```c
#include <stdio.h>
#define MAXN 100 // 最大顶点数
int n; // 顶点数
int G[MAXN][MAXN]; // 邻接矩阵
int vis[MAXN]; // 标记数组,标记每个顶点是否被访问过
void dfs(int u) {
vis[u] = 1; // 标记当前顶点为已访问
printf("%d ", u); // 输出当前顶点
for (int v = 0; v < n; ++v) {
if (G[u][v] && !vis[v]) { // 如果u和v相邻且v未被访问过
dfs(v); // 递归访问v
}
}
}
int main() {
scanf("%d", &n); // 读入顶点数
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
scanf("%d", &G[i][j]); // 读入邻接矩阵
}
}
dfs(0); // 从顶点0开始深度优先搜索
return 0;
}
```
这个模板中,我们使用邻接矩阵来表示图,其中G[u][v]表示顶点u和v之间是否有边。vis数组用来标记每个顶点是否被访问过。深度优先搜索从顶点0开始,对于每个相邻且未被访问过的顶点v,递归访问v。在访问每个顶点时,我们输出它的编号。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)