作为一个母语不是英语的人(俄罗斯),我在维基百科上阅读了这篇文章:http ://en.wikibooks.org/wiki/Artificial_Intelligence/Search/Heuristic_search/Depth-first_search
我尝试遵循这个用硬核英语编写的伪代码示例,几乎没有解释或评论。
特别是,我不明白他们试图用这句话说什么:
DFS(u):
visit(u);
time = time + 1;
d[u] = time;
color[u] = grey;
for all nodes v adjacent to u do
if color[v] == white then
p[v] = u;
DFS(u);
time = time + 1;
f[u] = time;
color[u] = black;
对于与你相邻的所有节点 v
我对这句话的问题是“相邻”部分。我的字典说这意味着“邻居”。所以我必须遍历你的超级节点的子节点?注意 u 是图中的一个节点。
或者他们是想说我必须遍历你的所有子节点?因为这将产生巨大的影响。
除了那些英语问题,他们忘了提d和p的意思,这让我把我所有的头发都扯掉了(是的,即使是我胡子上的那些)。
文章中的链接只是重复了这个没什么意义的神秘东西。也许有人能够以一种更易于阅读的方式重新编写它,有更多的评论和有意义的变量?我没有找到任何真正好的解释,这不仅仅是为了炫耀与 DFS 相关的作者的主导智慧。
因此,如果有人可以以更好的方式即时重写它,并具有更大的学习价值,这将节省我的一天,节省我的胡子。保存一切。谢谢你。