一般来说,DFS使用递归来实现。递归也就是方法自己调用自己。要深刻理解递归,一个比较好的方式就是将递归的过程抽象成一个树状的结构,递归代码就是对这棵抽象树进行深度优先搜索。
在实现递归代码之前,我们需要考虑三个结构:
dfs(para1, para2....) { //stop if (....) return; for nx in directions: dfs(nx) }