图的搜索算法
图的搜索算法是基于数据以图为存储结构的搜索算法,有很多。比如说,深度优先搜索算法和广度优先搜索算法,还有A*、IDA*等启发式搜索算法。
广度优先搜索(Breadth-First-Search)
简单来说就是地毯式搜索。专业一点,就是以一个顶点出发,以度为1遍历他连接的所有顶点。然后度依次增加,直到终止顶点。
以下图为例,
起始顶点为S,终止顶点为t,度从1开始依次增加到3,遍历到t。
我们定义E为变数,V为顶点数,时间复杂度为O(E),空间复杂度为O(V)
深度优先搜索算法(Depth-First-Search)
简称DFS,核心思想就是回溯思想。
如下图所示,
时间复杂度是O(E),空间复杂度是O(V)。
总结
两种粗暴,简单的算法。