ダイクストラのアルゴリズムを実装して、2 つのノード間の最短距離を見つけたかったのです。
2 に答える
この Java 実装を Android プロジェクトに統合しました: https://github.com/stewbob/dijkstra
この質問は、あなたの質問が異なる場合は既に尋ねています 。Google マップ アルゴリズムの詳細情報を提供してください。
そうでなければ、このようにすることができます。
ネットワーク内の最短経路を見つけるために、これまでにいくつかのアルゴリズムが導入されてきました。どのアルゴリズムもすべての状況で最適と見なすことはできませんが、ダイクストラのアルゴリズムは、制限のない非負の重みを持つ任意の有向グラフの既知の最速の単一ソース最短経路アルゴリズムです。このアルゴリズムは、ルーティングでよく使用されます。このアルゴリズムを Android に実装し、適切な GUI でサポートすると、シンプルでありながら強力なアプリケーションを作成できます。このアプリケーションは、マーケティング担当者、観光客、都市初心者などに使用できます。燃料が不足している今日の世界では、最短経路を知ることは役に立ちます。公共交通機関はグラフとしてモデル化することもできます。すべての駅はノードで表され、2 つの駅を直接結ぶ線がある場合にエッジが存在します。ここでは、実験のために大学の敷地を使用しました。
別のアクティビティでは、Google マップが表示され、デバイスの現在の場所も表示されます。地理的エリアのすべてのノードは、canvas.drawText を使用して番号付けされ、最短パスは canvas.drawPath を使用して描画されます。クラスの 1 つには、SQLite データベースを作成およびアップグレードするためのすべてのコードと、データベースを開いたり閉じたりし、レコードを挿入、削除、取得、更新するためのコードが含まれています。マーケティング エグゼクティブがこれまでに訪れたすべてのノードは、Google マップで表示でき、電話帳から連絡先を追加することで、彼の権限または誰にでも SMS で送信できます。アプリケーションは Web サーバーに接続できます。幹部が次に訪問する場所を知らない場合、必要な情報を提供するようにサーバーに要求を送信します。Web サーバーは asp.net で作成されています。そこで使われているデータベースはMs Accessです。
このアプリケーションがマーケティング担当者によって使用されている場合、全員がマーケティング会社の Web サーバーに接続され、そこで次に訪問する場所について問い合わせることになります。SQLite は、これまでにアクセスしたすべてのノードを保存します。開発者ガイドによると、「SQLite は、すべてのアプリケーションで利用できる強力で軽量なリレーショナル データベース エンジンです」。