关于搜索路径
DFS、BFS都能搜索得到可行路径。
若想得到两点间所有路径,有两种本质相同的办法
- DFS,但是在节点回退的时候取消visited标记。相当于,只对一条路线上的点进行标记,其它都不标记。记录路径的方法也很简单,用一个栈,或者记录每个节点的pre都行。
- 回溯法。可以回溯节点的排列;更可以对每位节点枚举其下家,通过不与已有的解向量x任意位上内容相等来剪枝。回溯法本来就相当于对解空间树的dfs搜索,而上述实现方法更与dfs遍历图完全一致。
不过与之对应的,BFS就不能搜索得到“所有路径”;但BFS一定可以搜索得到 “最短路径”。