当最佳优先搜索到达之前访问过的节点时,上次访问可能有更长的路径。发生这种情况时,打开和关闭列表需要更新。 A *搜索不会发生这种情况。
问题:DFS会发生这种情况吗?
答案是肯定的,但我认为不是。为什么是的?我认为一旦访问了一个节点,就不会再回到它了。
答案 0 :(得分:3)
DFS策略将在找到节点的路径时多次访问节点。它不会继续从该节点访问,但它会注册访问本身。这对于DFS edge classification至关重要。
例如,考虑在此图表上运行DFS:
当您第一次到达节点C
时,路径为A-B-C
。当您第二次到达C
时,路径为A-C
,这会更短。
答案 1 :(得分:3)
如果您有这样的图表
A
|\
B \
| E
C /
|/
D
并从深度开始遍历,从左到右,将按顺序访问以下路径:
A
AB
ABC
ABCD
AE
AED
你看,D的第一次访问是在比第二次访问(AED)更长的路径(ABCD)上。