前回、データ構造としてのグラフについて書きましたが、グラフ アルゴリズムのテスト ポイントは最短経路問題だけです。 最短経路問題 最短経路問題: エッジに重みが付けられたネットワークが与えられた場合、パス上のエッジの重みの合計が最小になるように、指定された開始点から指定された終了点までのパスを見つけます。 たとえば、上の図では、図のポイント 1 からポイント 4 までの最短経路の長さは 3 (1 から 2 から 4) になります。 最短経路問題はダイクストラ法で解かれることが多い。 ダイクストラアルゴリズム ダイクストラ アルゴリズムは、1 つのノードから他のすべてのノードまでの最短パスを計算するために使用される、典型的な単一ソース最短パス アルゴリズムです。開始点を中心に層ごとに外側に広がり、終了点に到達するのが最大の特徴です。 例えば、上図のダイクストラアルゴリズムは、開始ノードから隣接ノードまでのすべてのパスを継続的に検索し、初期距離を最短距離に設定し、最も遠いノードまでの最短距離が解決されるまで、隣接ノードの最短距離を継続的に更新するプロセスです。 テキストの説明が明確ではありません。下のアニメーション画像を参照してください。 グラフ上の頂点は、訪問済みノードと未訪問ノードの 2 つのセットに分割されます。 ポイントが訪問先から外側に拡張されるたびに、拡張ルールは更新可能なポイント間の距離が最小になるようにすることです。 上の写真を例に挙げてみましょう まず、隣接行列を使用して無向グラフを表します。
隣接行列g[0][1]=1は、最初のノードから2番目のノードまでの距離が1であることを意味します。 目的は、出発点1から他の点までの最短経路距離を見つけることです。
これまでのところ、ノード 1 から残りの 3 つのノードまでの最短距離は 1、4、および 5 です。 「重み付けされていないグラフ、つまりすべてのエッジの重みが等しいグラフにダイクストラのアルゴリズムを適用することは、BFS 検索と同等です。」 その他のソリューション 多くの場合、無向グラフの最短経路を取得するには、一連の点を入力し、開始点を入力する必要があります。
テストケース
テストケースでは、0 1 1 は最初の頂点から 2 番目の頂点までの距離が 1 であることを意味します。 隣接リストを使用したダイクストラのアルゴリズムの時間計算量は次のとおりです。そのため、多くの場合、最適化のためにヒープを使用したり、余分なスペースを最適化するためにハッシュ テーブルを使用したりします。 |
>>: ザッカーバーグの45分間の詳細なインタビュー:今後10年間のVRと脳コンピューターインターフェースへの野望を明らかにする
12月9日、清華大学人工知能研究所、北京市知源人工知能研究所、北京市瑞来スマートテクノロジー株式会社...
VB.NET を学習する場合、中国語の情報が非常に少なく、大多数のプログラマーのニーズを満たすのが難...
Microsoft の Copilot は、世界で最も強力な生産性向上ツールの 1 つと言われていま...
AI および機械学習モデルの作成に必要なスキルセットをより深く理解するには、機械学習ソフトウェアによ...
百度がこのほど発表した「百度人気検索・2022年大学入試ビッグデータ」レポートによると、人工知能は3...
過去2年間、中国は世界の継続的なイノベーションの最前線に立ってきました。2020年の疫病は、人工知能...
米国現地時間9月8日木曜日、投資会社ニーダム・セキュリティーズは、アマゾン、グーグル、マイクロソフト...
先ほど、グローバル AI 人材レポートが発表されました。世界のトップクラスの AI 人材のうち、約半...
最近、TensorFlow は公式バージョン 2.8.0 をリリースしました。バージョン 2.7 の...
IDC は、2024 年以降の世界の情報技術 (IT) 業界予測レポートを発表しました。 IDC は...
機械学習のようにテクノロジーが大々的に宣伝されると、多くの誤解が生じます。ここでは、機械学習が提供で...
中国の新世代人工知能産業の規模は着実に拡大している。新世代の AI アプリケーション シナリオの実装...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...