图的广度优先搜索(BFS)和深度优先搜索(DFS)

无向图和有向图

顶点对(u,v)(u,v)是无序的,即(u,v)(u,v)(v,u)(v,u)是同一条边.常用一堆圆括号表示.
顶点对<u,v><u,v>是有序的,它是指从顶点u到顶点 v的一条有向边。其中u是有向边的始点,v是有向边的终点。常用一对尖括号表示。
具有n(n1)/2n(n-1)/2条边的无向图称为完全图,具有n(n1)n(n-1)条弧的有向图称为有向完全图.
**权和网:**图的每条边上可能存在具有某种含义的数值,称该数值为该边上的权.而这种带权的图称为网.
连通图与非连通图:
连通图: 在无向图中,从顶点v到顶点v’有路径,则称v和v’是联通的。若图中任意两顶点v、v’∈V,v和v’之间均联通,则称G是连通图。
非连通图:若无向图G中,存在v和v’之间不连通,则称G是非连通图。
图最常用的两种表示方法是邻接表和邻接矩阵。顾名思义,这两种办法分别用表和矩阵的方式描述图中各顶点之间的联系.
图的广度优先搜索(BFS)和深度优先搜索(DFS)图的广度优先搜索(BFS)和深度优先搜索(DFS)

广度优先搜索

广度优先搜索算法(Breadth-First-Search,缩写为 BFS),类似于树的按层次遍历的过程.需要借助队列实现搜索的算法.
其搜索过程类似与“湖面丢进一块石头激起层层涟漪” 类似。
算法实现过程具体图解:链接博客

深度优先搜索

深度优先搜索算法(Depth-First-Search,缩写为 DFS),类似于树的先序遍历,是一种利用递归实现的搜索算法.其搜索过程和 “不撞南墙不回头” 类似。
算法实现过程具体图解:链接博客

两种搜索方法的区别理解