2017-12-30 53 views
1

効率的なアルゴリズムを構造化しようとすると、無向グラフとエッジe(u、v)を取得し、エッジがグラフのあるサイクルに属するかどうかを決定します。すべてのサイクルではありません! 私のアプローチは、グラフからエッジ(u、v)を取り出し、Bがまだuから到達可能かどうかを見るためにBFSを実行することです。もしそうであれば、元のグラフはeを含むサイクルを有し、そうでない場合は存在しない。 しかし、エッジがグラフのすべてのサイクルに属していないかどうかを決めるアルゴリズムを微調整する方法がわかりません。エッジがあるサイクルに属するかどうかを決定する効率的なアルゴリズム

+1

多分直感的なカウンタ:特定のエッジを持たないサイクルを検索してください:少なくとも1つあればすべてのサイクルにそれがありますか? – Colonder

答えて

0

無向グラフには、このグラフが単一サイクルである場合にのみ、すべてのサイクルグラフに属するエッジを含めることができます。

例を見てみましょう。 Edge(2,3)は2つのサイクルに属しますが、そのようなエッジが属していない第3のサイクルを常に見つけることができます。

Graph with cycles 125, 12345

あなたは縁がいくつかのサイクルに属していることを確認した後、これは、このエッジを取り除き、減少グラフはまったくのサイクルを持っているか否かをチェックすることによって、グラフ内の唯一のサイクルであれば、あなたは確認することができます。それを指摘してくれた@nomanpouigtに感謝します。

+0

ああ、グラフが1サイクル以上あれば、特定のエッジはそれらのすべてに属することはできないのですか?だから、私が書いたアルゴリズムはsufficienを使うのですか? – 123josh123

+0

@ 123josh123はい – Yola

+0

@ヨラあなたはOPアルゴリズムがうまくいくと確信していますか?エッジを取り除いて、与えられたエッジがすべてのサイクルに存在するかどうかを私たちに教えてくれるグラフにサイクルがなくなるかどうかをチェックするだけではないでしょうか? –

関連する問題