有向グラフの一意のパス


9

私は、有向グラフが頂点に対して一意であるかどうかを判別するクラスのアルゴリズムを設計しています。これにより、任意のu vに対して、vからuまでのパスが最大で1つ存在します。BFS(幅優先検索)を使用してvから別の頂点uへの最短パスを見つけ、次にBFSを再度実行して、vからuへの代替パスが見つかるかどうかを確認することから始めました。しかし、これは時間がかかりすぎると思います。より短い実行時間でソリューションを見つける方法についてのヒントはありますか?vあなたvvあなた

回答:


9

BFSを使用してvから逆方向に作業し、移動するたびに各頂点に「訪問済み」のフラグを付けます。以前にアクセスしたことがある頂点に到達した場合、グラフには一意性プロパティがありません。それ以外の場合はそうです。



2

これは、グラフトラバーサルの単純な変更です。以前にマークされたノードへのエッジを見つけた場合、複数のパスがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.