こんにちは、私はこの質問に苦労しています。Dijkstra'sを使用して重み付き有向グラフで最も重みの低いサイクルを見つける
加重付き有向グラフGで最小ウェイトサイクル(すなわち、グラフのすべてのサイクルのうち、エッジウェイトの合計が最小のもの)を見つけるアルゴリズムを作成します。 V、E)。ランタイムとスペースの複雑さを簡単に正当化します。すべての辺が非負であると仮定する。それはO(| V || E | log | V |)時間で実行する必要があります。 ヒント:Dijkstraのアルゴリズムへの複数の呼び出しを使用します。
私はFloyd-Warshallを使用するソリューションを見たことがありますが、私はDijkstraを使ってこれをどのように行うのかと、時間制約の中でそれをどうやって行うのだろうと思っていました。私は混乱のいくつかのポイント持って
:まず
- を、どのように私たちも、グラフにあり、どのように それらをチェックするためにどのように多くのサイクルを知っていますか?
- また、なぜ| E || V | log | V |私の理解では、すべての頂点を通して を走査して、| V | log | V |にする必要があります。
これは私の個人学習用ですので、誰かが使用できる例があれば、大きな助けになります!私は実際に擬似コードを探しているわけではありません。あるノードからすべてのノードまでの最短経路を使ってこの問題を解決する方法を理解する一般的なアルゴリズムです。 ありがとうございました!