一,什么是搜索算法
算法是基于特定数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的。
树是图的一种特例(连通无环的图就是树)。
图上的搜索算法,最直接的理解就是,在图中找出从一个顶点出发,到另一个顶点的路径。具体方法有很多,两种最简单、最“暴力”的深度优先、广度优先搜索,还有 A*
、IDA*
等启发式搜索算法。深度优先搜索算法和广度优先搜索算法,既可以用在无向图,也可以用在有向图上。
图(采用邻接表存储)的 C++
代码实现如下:
#include <list>
class Graph{
private:int v