私は指向性と重み付けされたグラフを持っています(負でない値< = 1)。各ノードは最大2度を持つことができます。これには2つの異なるタイプのエッジがあります。私は2つの別個の頂点の間に(1つ目のタイプのエッジを持つ)パスが存在するかどうかを調べる必要があります。存在する場合は、2番目のタイプのエッジを使用して、同じ2つの頂点間のすべてのパスを見つけます。 ..どの方法が効率的なのでしょうか... DFSまたはダイクストラまたはベルマンフォーク..グラフ操作アルゴリズムの複雑さ
0
A
答えて
0
ここでは重量が必要なのはなぜか分かりません。私が問題を正しく理解しているならば、まずタイプ1のエッジを使って、ノードAからノードBへの少なくとも1つのパスの存在をチェックします。これは、O(| V | + | E |)時間(またはDijkstraまたは類似)のDFSで行うことができます。 2番目の部分はそれほど単純ではなく、すべてのパス(タイプ2のエッジを持つ)が無向変種のNP-hardであることがわかります。つまり、この問題の多項式時間解は存在しません(this related postに記載されています)。実装にリンクするDAG another postの2つのノード間のすべての(可能な指数関数的な)パスを列挙する。
関連する問題
- 1. アルゴリズムの複雑さ
- 2. Dijkstraのアルゴリズム - 複雑さ
- 3. min-maxアルゴリズムの複雑さ
- 4. fooアルゴリズムの複雑さ
- 5. Edmonds-Karpアルゴリズムの複雑さ
- 6. NSGA iiアルゴリズムの複雑さ
- 7. アルゴリズムの複雑さ - エクササイズ
- 8. CNN AlexNetアルゴリズムの複雑さ
- 9. サブタスクの既知の複雑さを伴うアルゴリズムの複雑さ
- 10. 複雑なリスト操作
- 11. この関数のアルゴリズムの複雑さ
- 12. 複数の操作の全体的な複雑さ?
- 13. リンクリストのアルゴリズム複雑さの分析
- 14. アルゴリズムの最悪の複雑さ
- 15. f(n)コストでのアルゴリズムの複雑さ
- 16. 次のアルゴリズムの複雑さは?
- 17. アルゴリズムの複雑さの分析
- 18. 欲張りアルゴリズムの複雑さ
- 19. アルゴリズムの複雑さ - 競合分析
- 20. 特定のアルゴリズム - 複雑さはO(N)
- 21. アルゴリズムの複雑さと実行時間
- 22. 関数の複雑さとアルゴリズム
- 23. アルゴリズムの複雑さを判断する
- 24. 日付の複雑な配列操作
- 25. rでの複雑な日付操作
- 26. 複雑なDTOのCRUD操作
- 27. Clojureの複雑なデータ操作
- 28. アルゴリズムの時間複雑
- 29. グラフ::削除の収縮の複雑さ?
- 30. 複雑なオブジェクトを操作する
なぜ体重が必要ですか?グラフは重み付けされていない可能性もあります。 – gue