0

要件は、ある人がモールに行き、現在の場所から特定の店に行きたいと仮定すると、アプリは、この 2 つのオプションを選択した後、現在の店と目的の店を選択する 2 つのオプションを彼に提供します。マップがそこに表示され、選択した店舗間の最短経路が表示されます。その店舗は異なる可能性があります。床。店舗が同じモール内にあるため、緯度経度を使用できないため、どうすればこれを行うことができるか、誰かが私を助けてください.

4

1 に答える 1

2

解決策は、モールを表す加重グラフを作成することです。

  • 店舗とパスの交差点であるノード (つまり、フロア間のエスカレーター)

  • それらを接続するパスであるエッジ

  • ノード間を歩く距離/時間であるエッジの重み

次に、ダイクストラのアルゴリズムのようなものを実装して、2 つのノード (店舗) 間の最短経路を見つけます。

ソリューションは、ショッピング モールの地図上にオーバーレイとして描画できます。

これは、古典的な巡回セールスマン問題のサブセットである最短経路問題の例です。

このスレッドには、役立つ可能性のある目的の C コードへのリンクがあります:目的の c で最短パス アルゴリズムを適用する簡単な方法

于 2013-01-21T10:47:12.790 に答える