私が始める前に、はい、これは宿題です。 私はこの14時間のうちにこの問題を解決できるほどの努力を尽くさず、どこにもいないと私はここに投稿しませんでした。グラフを切断せずに削除できるエッジはありますか?
問題は次のとおりです:接続されている無向グラフからエッジを切断することなくO(V)時間でエッジを削除できるかどうかチェックしたいと思います。
サイクルエッジは、グラフを切断することなく除去することができるので、グラフがサイクルを持っている場合、私は単純にチェックしてください。私はこれまで達している何
私は、使用できる2つの方法があります.1つはDFSです。もう1つは、VsとEsを数え、| E | = | V | - 1、それが本当であれば、グラフはツリーであり、切断することなく削除できるノードはありません。
どちらの方法も問題を解決していますが、両方ともO(| E | + | V |)が必要であり、より速い方法があると言われています(おそらく貪欲な方法です)。
ヒントはありますか?
編集: 具体的には、これは私の質問です。与えられたグラフG =(V、E)が与えられていれば、Eの中のいくつかのエッジeを取り除いて、結果のグラフをまだ接続してもよいですか?
ステートメントで少し正確にしてください。あなたは「接続されたグラフG =(V、E)を与えられていますか?Eの特定のエッジeを削除し、結果のグラフをまだ接続してもいいですか?または "以前のようにグラフを与えられた場合、結果グラフがもはや接続されていないEのエッジEが存在するのでしょうか?" –
質問が編集されました。申し訳ありません。 私はEからエッジを取り除いて、グラフを接続しておくことができるかどうかを確認する必要があります。 – Fingolfin
技術用語は[bridge]です(http://en.wikipedia.org/wiki/Bridge_(グラフ_理論) – sdcvvc