グラフの各頂点vに対してDAGと与えられたトポロジカルな次数関数を持つと仮定すると、2つの特定のノードを見ると、x、yはそれを知っています| top(x)-top(y)| < 10エッジx-> yを追加するとグラフにサイクルが形成されるかどうかを確認するにはどうすればよいですか? 私は、O(V + E)より良い解決策を達成しようとしています...DAGにエッジを追加すると指示サイクルが形成されるかどうかを確認するにはどうすればよいですか?
私が考えていたのは、top(x)> top(y)サイクル。 しかし、私は事件を逃すかもしれないのだろうか、また、トップ(x)のトップ(y)| < 10私には何か追加情報がありますか?どんな啓蒙ですか?
私はあなたの例を理解していますが、次の文の意味を理解していませんでした。サイクルが作成されたかどうかを判断するにはどうすればよいでしょうか? –
@wannabeprogrammer 'x-> y'がサイクルを作るかどうかを調べるときに、' y-> x'から既存のパスがあるかどうかを調べようとしています。現在、あなたは 'y'からのトラバースによってこれを行うことを提案しています。これらのノードが 'x'に確実に到達できないため、' top'が 'x'以上のノードをスキップするように指示しています。 –
それに基づいて、最悪の場合、yが最初の順序であり、xが最後のものである場合、グラフのすべてのノードを横切ってO(V + E)に達する。 –