2012-06-06 6 views
7

私は他の場所への位置とその接続を追跡しています。
各場所が辞書として表されている間、NSArray内の場所を保持します。各ロケーションには属性(locationName、Connections、latitude、longitude)があります。Connectionsは、このロケーションが接続されている他のロケーションの配列です。私はlat/lonとHaversineアルゴリズムを使って2点間の距離を求めます。iOSでのdijkstraのアルゴリズム

NEXT、Iは

これは、商業的使用のためのものではなく、必要としない(ユーザによって選択されたソースおよび宛先)送信元と宛先の位置との間の最短パスを見つけるために、ダイクストラの最短経路アルゴリズムを使用したいです数百または数千の場所をサポートします。

私は、この検索を実行するいくつかの客観的なCコードを探しています。

+4

私たちはあなたのためにコードを書くことはありませんが、あなたが持っているものを私たちに提供している場合、我々は提案を与えることができます:あなたはここでそれを確認することができます。 – SomeKittens

+0

私は理解しています。パラメータsource、destination、およびLocationArrayを渡すと、それらの間の最短経路(距離に関して)を返したいと思います。それぞれの接続は「一方通行」ですが、A ----> BはAからBにアクセスできることを意味しますが、Bロケーション辞書に明示的に定義されていない限り、BからAに到達できることは暗黙のものではありません。私は現在の壊れたコードを共有すると、これはもっと混乱するかもしれません。この部分(ダイクストラのアルゴリズム)は書き換えが必要です。 – user1278974

+1

先に進んで共有してください(悪いコードはあなたが悪いプログラマであるということを意味するわけではなく、単に学習しているという意味です)。 Wikipediaには擬似コードの例があります。 http://en.wikipedia.org/wiki/Dijkstra's_algorithm – SomeKittens

答えて

4

迅速Googleは

PESGraphが ノードとパスの構造をgreating、その後 最短の発見を可能にすることFoundation.kitための単純なグラフの実装であると言うsnyderp/PESGraphでいくつかのObjective-Cのコードを発見しましたそれらの間のパス。これには単体テストも含まれており、 にはコードの使い方の例がいくつか示されています。

はまた、この問題は、以前theres-an-easy-way-to-apply-a-shortest-path-alghoritm-in-objective-c SOに頼まれたとソリューションは、私がグーグルで見つかった同じgitリポジトリを指摘しました。

+0

アドバイスをいただきありがとうございます。 – user1278974

+0

PESGraphレポにはサンプルコードは含まれていません。あなたは最終的にそれを実際に使用することができますか? – inigo333

0

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

関連する問題