8

場所と他の場所への接続を追跡しています。
各場所がディクショナリとして表されている間、場所を NSArray に保持します。各場所にはディクショナリがあり、属性 (locationName、Connections、緯度、経度) があります。ここで、Connections は、この場所が接続されている (接続元ではない) 他の場所の配列です。緯度/経度と Haversine アルゴリズムを使用して、2 点間の距離を決定します。

次に、ダイクストラの最短パス アルゴリズムを使用して、ソースと宛先の場所の間の最短パスを見つけたいと思います (ソースと宛先はユーザーによって選択されます)。

これは商用目的ではなく、数百または数千の場所をサポートする必要はありません。

この検索を実行する客観的な C コードを探しています。

4

3 に答える 3

4

簡単なグーグルは、 snyderp/PESGraphでいくつかのobjective-cコードを見つけました

PESGraph は、Foundation.kit の単純なグラフ実装であり、ノードとパスの構造を大きくし、それらの間の最短パスを見つけることができます。これには、コードの使用方法の例も提供する単体テストが含まれています。

また、この質問は以前にSO theres-an-easy-way-to-apply-a-shortest-path-alghoritm-in-objective-cで尋ねられ、解決策はGoogleで見つけたのと同じgitリポジトリを指していました。

于 2012-06-06T19:40:35.277 に答える
0

恥知らずなプラグイン: mj-dijkstra グラフ表現は NSDictionary または辞書のように動作するオブジェクトです。

于 2013-05-03T05:09:48.893 に答える