場所と他の場所への接続を追跡しています。
各場所がディクショナリとして表されている間、場所を NSArray に保持します。各場所にはディクショナリがあり、属性 (locationName、Connections、緯度、経度) があります。ここで、Connections は、この場所が接続されている (接続元ではない) 他の場所の配列です。緯度/経度と Haversine アルゴリズムを使用して、2 点間の距離を決定します。
次に、ダイクストラの最短パス アルゴリズムを使用して、ソースと宛先の場所の間の最短パスを見つけたいと思います (ソースと宛先はユーザーによって選択されます)。
これは商用目的ではなく、数百または数千の場所をサポートする必要はありません。
この検索を実行する客観的な C コードを探しています。