广度优先搜索

广度优先搜索

广度优先搜索是一种对图进行搜索的算法。

 

算法步骤

假设我们一开始位于某个顶点(即起点),此时并不知道图的整体结构,而我们的目的是从起点开始顺着边搜索,直到到达指定顶点(即终点)。在此过程中每走到一个顶点,就会判断一次它是否为终点。广度优先搜索会优先从离起点近的顶点开始搜索。

 

 此处,候补顶点是用“先入先出”(FIFO)的方式来管理的

 

搜索G的搜索顺序为 A->B->C->D->E->F->H->I->J->K->G

为了方便说明,这次讲解用的是没有闭环的图。不过,如果图中有闭环,其搜索步骤也是一样的。像示例那样的没有闭环的图叫作“树”。

 

 

广度优先搜索效率

广度优先搜索的特征为从起点开始,由近及远进行广泛的搜索。因此,目标顶点离起点越近,搜索结束得就越快。

 

参考: 我的第一本算法书 4-2 广度优先搜索

posted @ 2022-01-18 17:14  草木物语  阅读(197)  评论(0编辑  收藏  举报