BFS在入队还是出队时记录距离
如果可以确定先入队的距离一定更小的话,则可以(先判断是否为初始值,如果是初始值,可以入队,则)在入队的时候记录距离,例如边权为1的BFS。
如果不能确定,
例如01BFS,可能先对1入队,再对0入队,
由于可以确保出队时是有序的,可以在出队时记录(类似dijkstra),
也可以在入队时记录距离(当前距离小于已经记录的距离),且出队时判断/更新vis(表示是否已经搜索过更小的距离,也可以不做这个判断,在下一步搜索时会直接被卡掉)。(初始化为正无穷,通用做法)
所以通用的做法是,初始化为正无穷,入队时判断是否小于已经记录的距离?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人