一.深搜
1.思想
首先 ,进行深搜我们是为了寻找最短路径。其次,那么我们应该了解该如何进行这么一个操作?深搜时,我们选取初位置,然后进行四个方向选择运动,我们一般选择顺时针,从右开始(即右,下,左,上),这样我们会得到每一次的选择会动多少次的结果。最后,选取最小的结果。
2.实现代码
1.选取最小路径步数
2.选路代码(即四个方向的代码)
但是为了简便,我们可以直接循环完成这四步,即
设置两个数组记录四次该怎么走:
循环代码
3.main代码
main外定义的代码
main里面的代码
3.回溯讲解
因为我们每次经过一个点的时候都会标记改点已经走过,但是当我们这一条路走到终点的时候,我们需要原路返回,返回一个格子,那么那个格子要标记成没有经过的地方,所以需要用到回溯。
4.例子测试
1.样例图片
2.样例结果
最后希望小伙伴们点个赞。