}
}
首先,最明显的不同就是“方向”,在搜索时,是从4或8…个固定(上下左右)的方向进行枚举,
而在遍历时,只是通过存储的图中的边进行依次枚举。
这让我不禁思考一下,为什么不同了,又或者能互换这样的枚举方式吗?
问题的讨论
=====
对于这样的一个“学术执着”精神,必须给它想清楚了心里才觉得踏实,于是我沉思许久。
一开始,我感觉到,是因为他们需要的枚举方向不同,所以遍历是从一个点依次判断。
但是这样都是枚举方向,为什么一个这样,另一个那样?
搜索的时候,如果也用G[u][v]来进行DFS、BFS可以吗?
遍历的时候,如果也用NEXT[][]数组来保存方向可以吗?
想了半天好像感觉不可以。为什么不可以呢?
想通了发现,按道理是可以的,因为同样是图,所以本质是不变的,况且他们的深度优先和广度优先的思想是不变的。
但是!在图的搜索当中,我们一般是给的具体一个“图”,而图的遍历当中,我们给的是点与点之间的连接关系,所以就造成了差异!
这一点从具体的算法题也可以非常之明显地看出来!
例如: