開始頂点、その他の頂点、エッジなどのグラフが与えられたとき、ある頂点から別の頂点に向かうコストを表します。最初の頂点から移動できる行き先の頂点のセットを見つける必要があります。予算は一定の金額であり、旅行の総費用は予算内でなければなりません。どのようにしてこの問題にDijkstraのアルゴリズムを実装できますか?私は通常、Dijkstraを使って2つの固定された頂点間の最短経路を見つけ出すと考えています。しかし、この予算問題でダイクストラを実装する方法がわかりません。誰かがアイディアを与えることができれば、本当に役立ちます!Dijkstra - 予算内の目的地を見つける
2
A
答えて
0
Dijkstraのアルゴリズムは、single-source shortest pathの問題を解決しました。これは、結果として生じるデータ構造が、開始ノードをルートとするツリーであることを意味する。典型的には、実装は、開始ノードから各ノードに到達するための最小コストを格納する。合計で、予算内で到達可能な頂点のセットは、最短パスのコストが予算を超えないものです。アルゴリズム自体は変更する必要はありません。追加のステップでは、バージン内で到達可能なノードを出力として返さなければならない。あなたは、ダイクストラのアルゴリズムを使用する場合
0
は、以下のシナリオで終わることができる:50の予算と4つのノード(開始ノード1、ノード2、ノード3)
スタートのグラフを仮定
ノード - >ノード1(15) - >ノード2(10):そう総コストは25
開始ノードである - >ノード3(15):総コストは15
だから今、あなたの予想結果は何であります?ノード1からノード2に移動し、ノード3を無視する必要があります(開始に戻ることはできず、ノード3に戻ることができます。戻り値も30になります)。または、ノード1に戻り、ノード3に行きます(合計費用45、利用可能な最大コスト)
Floyd-Warshallのすべての宛先をカバーする最短経路ではありませんアルゴリズムhttps://en.wikipedia.org/wiki/Floyd -Warshall_algorithm
関連する問題
- 1. 別の範囲内の地理的地点を見つける -
- 2. ライドシェアリングアプリケーション - 周囲の起源と目的地を見つける
- 3. 目的地c自分の現在地を見つけますか?
- 4. EXTjs 4ドラッグ&ドロップのプラグインイベントの起点と目的地を見つける
- 5. Dijkstraアルゴリズム複数の辺が最小値を見つける
- 6. コンピュータの地理的位置を見つけるpython
- 7. Dijkstraアルゴリズムを使って最短ルートを見つける
- 8. Mysql - ビューポート内の座標を持つ項目を見つける
- 9. Android現在地を見つけるエラー
- 10. 条件付きの慣用的な目的地/目的地
- 11. 列内の2番目の値を見つける方法
- 12. Googleマトリックス - 出発地と目的地の間の距離を計算
- 13. 数学的に5番目の土曜日を見つける?
- 14. シーケンス内で最長の算術進行を見つける
- 15. 目的C:gdbで<process id>を見つける場所
- 16. Mongooseが多目的配列を見つけて作成する
- 17. 往復に基づいて新しい出発点と新しい目的地を見つけるには?
- 18. メニュー内でアクティブなメニュー項目を見つける
- 19. アクティブレコード:テーブル内のn番目の行を見つけよう
- 20. マット内の特定の地域で非ゼロピクセルを見つける方法
- 21. サブライムテキストプラグイン - 選択範囲内のすべての地域を見つける方法
- 22. 2つの地理的地点間の距離を計算する方法
- 23. リスト内のn番目+ n要素を見つけよう
- 24. DependencyPropertyはResourceDictionary内の項目を見つけません
- 25. グループ内の最後から2番目のレコードを見つける方法最後に見つけ出す
- 26. Laravel Guzzleページからの目的地と予定時刻を取得する
- 27. 目的地coredataの述語
- 28. 眼鏡で目を見つけるOpenCv
- 29. 正確な地理座標を持つ行を見つける
- 30. Groone ploneプロダクト内の私の静的フォルダを見つける
1.開始点と他のすべての頂点間の最短経路を決定します。 2.各旅行の価格。 3.どの旅行が予算内にあるかを決定する。 – DwB