DFS(深度优先遍历)----最短路径

本文通过一个纸条传递问题探讨了使用DFS解决最短路径问题时可能遇到的难点,包括如何处理边界情况和DFS与BFS的区别。作者分享了在Java中实现DFS时遇到的问题,并通过参考博客学习了使用栈记录路径的方法。文章以C语言代码为例,展示了如何应用DFS解决迷宫问题,并强调了理解问题和先规划思路的重要性。
摘要由CSDN通过智能技术生成

指导网址:https://blog.csdn.net/autfish/article/details/52447805

遇到纸条传递问题,刚开始觉得---我去,这不是就丫走两遍DFS的事儿么,后来才发现,会有堵死的情况,所以还得看人家四维数组的解题方式学习。

另外,更严重的是我丫走一遍都没走好----因为把DFS和BFS搞混了,但是起码也比以前进步了不是---啊呸!

说重点的,就是本文中的方式改写成java后,明明逻辑都相同但是偏偏这不对那也不对,后来找到“罪魁祸首”---return 0;C和Java的void函数使用return 0还是有区别的,额,反正我目前是认为这个原因的。具体还得以后细琢磨。

然后呢,就看了上面指导博客里的小老鼠走迷宫,发现用到了栈来记录,所以呢,就是改了改,把单向传纸条完成了,其实也没改啥,主要就是输入输出条件改了改。不过经过那么多遍的修改,对DFS真的是很难印象不深刻呀。

之后还要多学习栈这方面的东西,毕竟肯定要经常用到。

好嘞,贴下代码:(代码是在原博基础上改的哈,网址见开头)

package 蓝桥;
import java.util.LinkedList;
import java.util.Scanner;
 
public class Maze {
    public static int endX;
    public static int endY;    
	public int max;
    publ
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值