为什么bfs走迷宫的路程是最小值而dfs就不一定

发布网友

我来回答

2个回答

热心网友

首先,bfs是每走一步,就把所有可能的下一步走法存入数组。然后数组指针向后移一位,也就是说bfs是把所有可能的走法全部同时走一遍,也就是说在同一时刻,走法的数组里还未判断的位置已经走过的步数是相同的(或者只差1),这样一来,当抵达终点后,那一个算法一定是走的步数最少的。
而dfs是把一条路走到底再换另一条,你可以想象一下,一条很绕的路碰巧走到终点,dfs就判断为计算出来了,当然不是最短

热心网友

bfs是发散状的各种走法同时走,第一个成功的一定是最快成功的,dfs是某一条路走到底第一个成功的不一定是最优的路线

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com