图搜索算法是一种用于在图中寻找特定节点或路径的算法。图是由节点(顶点)和边组成的数据结构。图搜索算法有许多种,其中常见的包括深度优先搜索(DFS)和广度优先搜索(BFS)。
深度优先搜索(DFS)是一种递归算法,它从一个起始节点开始,逐步沿着图中的边向下深入,直到无法再继续下去为止。然后,它退回到上一个节点,继续探索其他路径。DFS通常使用栈来保存节点的访问顺序。
广度优先搜索(BFS)是一种迭代算法,它从一个起始节点开始,逐层遍历图中的节点。对于每一层,它首先访问当前层的所有节点,然后才继续到下一层。BFS通常使用队列来保存节点的访问顺序。
以下是C语言实现深度优先搜索算法的示例代码:
#include <stdio.h>
#define MAX_VERTICES 100