(A)は、推奨される最短パスアルゴリズムを転送します

1.はじめに

       あなたが最短ルートの地下鉄の転送、最短経路を少しアイデアを見つけるのに長い時間を探して、インターネット上のプログラムが、テイクへの最短経路を計算するためのアイデアを計算する必要が地下鉄の駅の開発アプリを思い出させるためにここに書く記事がある理由は、非常に悪い経験する多くの時間を与えます。私は、より高速な方向性をユーザーに提供するために、駅から(いくつかのルートが共通のプラットフォームよりも多くてもよい)、最短と同じ移送ラインを考えて人を見つける最初に転送したいルートを見つける、そして転送からのルートを見つけるために、このアルゴリズムを考えます私はまた、自動学習と記憶のためのアルゴリズムを作った、アルゴリズムは非常に単純であり、それは、ユーザーがデータベースを照会するためにルートを照会するとき、クエリに、現在のユーザがすでに確認されている場合、データベースは以前のすべてのユーザーのクエリルートルートを保持している、あります誰もがクエリにルートユーザーを検索しない場合は、より高速な結果を得ることができるので、直接のリターンによって、それが推奨アルゴリズムの結果であるとの結果が、私はより良い体験を提供することを可能にするために、転送経路を改善するための最短ルートのデータベースで保存されますすべての2つのステーションがルートが計算され、照会の基本的なラインにデータベースユーザーが満たすことができるようになりますように、すべてが、データベースにも残って転送するすべての都市のルートに事前に書かれたスクリプトは、このプログラムは非常に良い、少しハッハッハではありません不正行為の疑いが、それは限り目が達することができるよう問題ではありません すべての人のOKには影響ありません。

    これはコストを節約して、いくつかの側面には、いくつかの欠陥を行うためには、私の個人的な開発されているため。1.すべてのルートデータベースのクエリは非常に柔軟であり、また、アプリケーションパッケージのボリュームにつながる可能性が大ロットになり、ルートデータベースを構築し、事前のAPPの都市でローカルデータベースに保存され、2は、サーバの照会を通じてルートの変化につながる、行が含まれていないので、データベースは、即座に、APPの契約に組み込まれた3最短経路アルゴリズムを変更することはできません。このアルゴリズムは最高の最適化アルゴリズムにエンドリードした後、サービスに配置され、トラブルの多くを必要とします。

    すべてがすべてでは何のサーバコスト削減はありませんが、上記の質問の多くは、非常に面倒である、あなたは、長期的なAPPプラットフォームデータを置くために、経路データを持つようにしたい場合は、アルゴリズムは、バックグラウンドで推奨しました。

2. Aフローチャート

アルゴリズムのプロセス:

1.データベースの方向、

2.アルゴリズムクエリを通るルートが存在しない場合、

3.データベースへのパスを保つために、新しいクエリ

3.解析アルゴリズム

(1)最小転送経路アルゴリズム:

バスや地下鉄、電車や輸送機の他のモードは、一つの場所から別のものに知っているかどうか、私たちはそれらのルートを経由して見つける必要がある、それらのルートは最小の転送先を見つける必要があり、我々は最初の道路モデルを構築する必要があります。

あなたは深センの地下鉄路線の観点から、建物のプロセスを理解するように、次の例を与えます。

図シンセンに示すように、我々は最初に別のステーションから、このステーション(2)ここで、ライン端子を見つけるラインを見つけなければならない(1)にある場合は今、それぞれ異なる色で描かれた8つの地下鉄路線を有しています(3)最大2本のラインを介して接続することができるラインを見つけ、我々は3つの手順に従う線に転送するために一つのステーションから別のものに見出すことができます。グラフのモデルを構築します。

上記深川完全なルートの各接続無向グラフであり、例えば、我々はシリKeyuanステーションをスタンドする、シリ局を介して経路(5行目、7行目)があり、ステーションを通るルートが(ラインを有していてもよい2 )、図は、上から来ます

ライン2のライン5:5> 2,5-> 1-> 2,5-> 3-> 2,5> 7> 2,5> 4-> 2。行の多くは、などありますが、

ライン2のライン7:7-> 2,7> 5-> 2,7> 4-> 2。行の多くは、などありますが、

私たちは、5-> 2,7> 2 2以上、我々は他の転送を除外することが可能である少なくとも転送を見つけようとしている思考の人によります。

それを行うには良いアイデア、少なくとも転送になる見つける問題であろうと判断された場合は、上記の考え方によると、私たちは、ルートマップを通過することにより、2つの転写ステーションにルックアップするためにモデル化することができ、最終的に私はこのアイデアを決定しました。いいえ、私は実際に最終的には、ほぼすべてのパスが2点を横断している見つけ基本的なアルゴリズムを検索、問題は、最初のグラフトラバーサルへの最小限の接続となっており、2点の最短経路図を見つけるために使用される多くのオンラインアルゴリズムがあります前記転送の最小である経路の最終比較後。

     もちろん、計算に少なくとも別の最終確認した後、そのパスを停止するために、1を知っている可能性が最も低いを見つけることができます。

ただ、Keyuan少なくとも2つの転送スキーム> 2 5> 2,7 Xili駅から駅に例を使用するには、少なくとも必要性をさらに確認の駅を通過するかを知るために、私は考えるようになりましたそれは例えば、5外>行2移送ステーションは、2本の線を介して局で単純です

5-> 2行目Huangbeiling局は、35個のステーションの合計後、ステーションがあります

7>ライン2は、2つのステーションアントワーヌ・ヒル・ステーションを持っている、と華強北駅、我々はアントワーヌ・ヒルの11のステーション選挙のコースを決定するために非常に簡単になります。その場合には11駅32の駅であるだろう転送。

4.最小数のアルゴリズムプラットフォーム

あなたはより複雑発生した場合、状況は非常に可能な裁判官は3つ、4つ、またはそれ以上、我々はそれらのルートを取ることを知っている場合は、その転写ステーションで知ることは困難ですへの転送に出会いです。このような状況に直面して、我々は、最終的な転送経路を得るためにサイトおよびこれらの局を比較し、最小のすべてを列挙する必要があります。

同様に、私たちはどのようなモデリングアルゴリズムを見てする必要があります。

これはステーションからステーション西郷に、より複雑な例の真珠光沢を与える、上記実施形態によれば、我々は、クエリ転送方式7-> 5-> 1を得ます

7> 5行2つの交点:シリとPETN

湾と宝の前に:5> 1行目は2つの交点を持っています

最後に、我々は方向を取得し、体重チャートで、上記最小を計算するために、示すように、転写ステーションに変換し、重み付きグラフのトラバーサルの問題、このアルゴリズムはまた、多くのオンラインがありますされています。時々転送方式が知らないかもしれない、例えば、我々は、5-> 7-2,5-> 3-> 3,5> 11-> 2とを見つけ、このような限りプログラムの各々は、横断重み付けグラフに持ち込まれるように最終的にはステーションの同じ数があることが分かった場合、それらの最小転送局の数と、最後に最もコントラストを見つけ、それが問題で、我々は、転送時間、価格をもたらすことができず、他のパラメータは、ほとんどの転送経路を取得するために比較しました。


4.まとめ

     このアプリの開発では地下鉄の駅を思い出させるためにある都市が多いため、最も時間のかかる(1)サイトのデータ収集、データベースのグルーミング、2ヶ所のを多くの問題に遭遇した、唯一のすべての都市ごとに地下鉄を収集するために地下鉄を持っていますプラットフォーム、だけでなく、私のデータのデータの先頭をチェックする時間の多くはまた、非常に大規模なイベントであるこの廃棄物を仕上げにこれらのデータのデータは、多くのオンライン各都市の地下鉄関連のデータがありますが、一部のデータは、彼らが同じことをしませんでした私はまた、複雑なルートがルートが最適ではなく、かつ結果は、推奨内容を決定するためのアルゴリズムのニーズを確認しながら、私Baiduはルートに様々な用途HTML5ショーのための技術的なプロジェクトの概要比較をお勧めします、長い時間のために押されましたはるかに優れた機能に慣れていないのJSが気付いていないため、上海地下鉄の経路計算時のルート推薦アルゴリズムは、私はこの問題に対処していない、より多くの問題の結果を計算するのに長い時間が必要になりますとき、夜の街のロードマップは、狭い視野に入れることができます本当に非常に良いプログラムではありません、ルートストレージデータベースを、計画するために事前に作られました アルゴリズムの勧告動揺。簡単ではありませんバックもロードマップの最小を最適化するために、トラバーサルアルゴリズムが考えていたと思っていますが、実際に達成したいです。

コードフォローアップが貼付されます。

 

 

公開された92元の記事 ウォン称賛27 ビュー90000 +

おすすめ

転載: blog.csdn.net/zhuxingchong/article/details/87900548