为什么 BFS 可以搜索到最短路径
估计很多初学者对这个问题一直不明白,为什么使用 BFS 进行广度搜索,一定可以搜索到最短路径。 讲真,在学校里学习 BFS 的时候,自己也没完全明白为什么。老师这么教,课本这么写,我就这么记。 其实回答这个问题很简单,请大家仔细观察下图,也就是使用 BFS 完成对树的搜索。比如,我要搜索节点 A 到节点 G 的最短路径。如下动图所示: 在 BFS 中,我们使用了数据结构中的一个队列(queue),我们知道队列的特性是 FIFO(First In First Out),也就是先进先出。正是这个 FIFO 特性,保证了我们第一个到达目标节点一定是最短路径。下面解释一下整个 BFS 的过程,我们整
用户评论