重みが 1 以上の最小エッジを持つパスを見つけるには、ダイクストラのアルゴリズムを少し変更して使用できます。まず、ソース ノードの重みを 1 に設定し、他のノードの重みを無限大に設定します。アルゴリズムの実行中、距離は更新されず、重みの積が更新されます。これにより、重みが最小のパスが確実に選択されます。各ステップで最小の重みを持つノードを選択することで、ターゲット ノードに到達するまでの最短パスを繰り返し発見します。最終的に、このパスに沿った重みの積は最小となり、指定された条件を満たします。
加重積を使用してダイクストラのアルゴリズムを修正しました
重み付け積を使用した変更された Bellman-Ford アルゴリズム
修正されたダイクストラ アルゴリズムでは、最初にソース ノードの重みを無限大に設定し、他のすべてのノードの重みを無限大に設定します。計算を実行する際、すべての重みで距離を更新するのではなく、これまでに発生した重みの積で距離を更新します。各ステップで、最小の重みを持つノードを選択し、同じ方法で隣接するノードの重みを更新します。このプロセスは、ターゲット ノードに到達するまで継続されます。最終的に、このパスに沿った重みの積は可能な最小値を表し、重みが 1 以上であるという条件を満たします。
###アルゴリズム###
###例### リーリー ###出力### リーリー
ターゲット中心重量は、ソースからターゲット ポイントまでの途中での最小アイテム重量を反映します。
グリーディ シェーディング アルゴリズムは、利用可能な色と隣接する頂点で使用されている色に基づいて、貪欲な方法で頂点に色を割り当てます。グラフのシェーディングを実現するために常に最小数の色を使用するとは限りませんが、頂点シェーディングの高速かつ効率的な方法を提供します。
この記事では、重みが 1 以上の最小エッジを持つパスを見つける方法を説明します。この問題を解決するために、改良されたダイクストラ アルゴリズムと改良されたベルマン フォード アルゴリズムという 2 つのアルゴリズムが導入されています。修正されたダイクストラ アルゴリズムは各ステップで最小の重みを持つノードを選択しますが、修正されたベルマン フォード アルゴリズムは反復的にエッジをアンラップして重みを更新します。この記事では、これら 2 つのアルゴリズムを C 言語で実装し、テスト入力での使用法を説明します。出力は、送信元ノードから宛先ノードまでのパス上の最小重みです。
以上が重みが 1 以上のエッジを含む最小プロダクト パスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。