深度优先搜索:
DFS是一个递归的过程,算法思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。 若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。
举例:
从顶点A开始遍历,再便利顶点C(为方便选择 按字母顺序 比如C D F都和A 相连,选择C)-->顶点B
-->顶点D-->顶点F-->顶点G-->顶点E
广度优先搜索:
举例:
从顶点A开始遍历,再顶点C(为方便选择 按字母顺序 比如C D F都和A 相连,选择C)-->顶点D
-->顶点F(此时与顶点A相连的顶点都被遍历,故选择与A相连的第一个顶点C,因此接下来遍历它的相邻顶点B)
-->顶点B-->顶点G(同理顶点B被选择的原因)-->顶点E