从题目可以看出,广度优先搜索是一层一层的搜索,而深搜是一根筋,一直搜到底O(∩_∩)O哈哈~。
到底怎么实现广搜呢?深搜是递归,想必大家可能恨死递归了。广搜不用递归,就用循环和队列就够!
![v2-12470c4a496e5bacc7e9a20230af262e_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-12470c4a496e5bacc7e9a20230af262e_b.jpg)
这个题目,从起点开始,到达终点最短路径是多少步?图中锁是障碍物。
先构建一个队列,还是用结构体。还得有一个数组book来记录走过的步数是否重复,这样可以做到**以空间换时间**。
![v2-9003f41f9894b8fca090e57fbab4429a_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-9003f41f9894b8fca090e57fbab4429a_b.jpg)
完整代码:
![v2-8aadaa142d9752bbe62eabb047c4ded7_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-8aadaa142d9752bbe62eabb047c4ded7_b.jpg)
是不是大家发现这个代码不能复制?哈哈,理解不能靠复制粘贴!要自己想自己写哦~
谢谢,请点个赞Thanks♪(・ω・)ノ