作者:娅丶0k_732 | 来源:互联网 | 2023-05-19 13:44
枚举四种走法的for循环结束也就意味着,撞到了南墙,返回上一步的位置,并把标记的位置复原,深搜也就意味着要一条路走到底,不撞南墙不回头的思想继续补充一点自己对深搜的理解,往各个方向搜索完成
枚举四种走法的for循环结束也就意味着,撞到了南墙,返回上一步的位置,并把标记的位置复原,深搜也就意味着要一条路走到底,不撞南墙不回头的思想
继续补充一点自己对深搜的理解,往各个方向搜索完成后,递归进行回溯,第一次跳出dfs函数是因为搜索到了尽头,要么是到了终点,要么是搜的四个方向都不满足要求
自己对于递归调用还是理解的不深刻,导致自己对于深搜一些细节理解出现错误,没回溯一次,返回上个状态,对应的值就变成上个状态了
深搜搜到底以后,结束dfs(),该点不会继续被他的父亲节点再次搜到,即便已经取消标记,因为有一个for循环,下一次会再次访问与它处于同一级的其他节点
深搜就是本质就是枚举,一种递归的枚举