c++实现深度优先遍历算法
时间: 2023-09-13 15:11:23 浏览: 109
深度优先遍历算法
深度优先遍历算法是一种图形遍历算法,它沿着图形的深度遍历图形,尽可能深的搜索图形的分支。
在 C 语言中,可以使用递归函数来实现深度优先遍历算法。
下面是一个简单的例子,展示了如何使用递归函数来实现深度优先遍历:
```
void dfs(int node) {
// 访问当前结点
printf("%d ", node);
// 遍历当前结点的所有邻居
for (int i = 0; i < num_neighbors(node); i++) {
int neighbor = get_neighbor(node, i);
// 递归遍历邻居
dfs(neighbor);
}
}
```
在这个例子中,`dfs` 函数接收一个结点编号作为参数,然后访问这个结点,并遍历它的所有邻居。对于每个邻居,它会递归调用自身,以便对这个邻居进行深度优先遍历。
希望这个例子能对你有帮助。
阅读全文