广度优先搜索
广度优先搜索
广度优先搜索是一种对图进行搜索的算法。
算法步骤
假设我们一开始位于某个顶点(即起点),此时并不知道图的整体结构,而我们的目的是从起点开始顺着边搜索,直到到达指定顶点(即终点)。在此过程中每走到一个顶点,就会判断一次它是否为终点。广度优先搜索会优先从离起点近的顶点开始搜索。
此处,候补顶点是用“先入先出”(FIFO)的方式来管理的
搜索G的搜索顺序为 A->B->C->D->E->F->H->I->J->K->G
为了方便说明,这次讲解用的是没有闭环的图。不过,如果图中有闭环,其搜索步骤也是一样的。像示例那样的没有闭环的图叫作“树”。
广度优先搜索效率
广度优先搜索的特征为从起点开始,由近及远进行广泛的搜索。因此,目标顶点离起点越近,搜索结束得就越快。
参考: 我的第一本算法书 4-2 广度优先搜索
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律