英語を母国語としない人 (ロシア) として、ウィキペディアでこの記事を読みました: 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;
u に隣接するすべてのノード v に対して
この文の私の問題は、「隣接」部分です。私の辞書によると、これは「隣人」のようなものを意味します。では、u のスーパーノードのサブノードを反復処理する必要がありますか? u はグラフのノードであることに注意してください。
それとも、u のすべてのサブノードを反復処理しなければならないと言いたいのでしょうか? これは大きな違いになるからです。
これらの英語の問題に加えて、彼らはdとpが何を意味するのかを言及するのを忘れていました。
記事内のリンクは、このあまり意味のない不可解なことを繰り返しているだけです。たぶん、誰かが実際にこれを、より多くのコメントと意味のある変数を使って、より人間が読める方法で書き直すことができたでしょうか? DFSに関連するライターの支配的な知性を誇示するためだけにあるのではない、本当に良い説明は見つかりませんでした.
したがって、誰かがその場でそれをより良い方法で書き直し、学習価値を高めて私の一日を救うことができれば、私の口ひげを救います. すべてを保存します。ありがとうございました。