幅優先ナビゲーション
2454 ワード
グラフ#グラフ#
グラフは、接続の集合をモデル化します.
グラフィックは頂点(node)と幹線(edge)からなり、頂点は複数の異なる頂点に直接接続できます.このように続く頂点を隣人と呼ぶ.したがって、2
は1
の隣人である.
幅優先ナビゲーション
最短経路問題を解くアルゴリズムです.
最短パス?
最短パスを整理すると2つの質問に答えることができます.
1.頂点aから頂点bへのパスは存在しますか?
2.頂点aから頂点bへの最短パスは何ですか.
queue
キュー(キュー)は、挿入や削除などの演算を使用するキュー内の要素に任意にアクセスできません.
グラフィックの実装
グラフ表現はハッシュ表が使えます!
ハッシュ・テーブルを使用すると、キーに値を指定できます.この場合、ある頂点に隣接する頂点を指定するだけでいいです.
たとえば、次のコードです.let graph = {};
graph["I"] = ["alice", "bob", "claire"];
アルゴリズムの実装
アルゴリズムの実現方式は以下の通りである.
最短経路問題を解くアルゴリズムです.
最短パス?
最短パスを整理すると2つの質問に答えることができます.
1.頂点aから頂点bへのパスは存在しますか?
2.頂点aから頂点bへの最短パスは何ですか.
queue
キュー(キュー)は、挿入や削除などの演算を使用するキュー内の要素に任意にアクセスできません.
グラフィックの実装
グラフ表現はハッシュ表が使えます!
ハッシュ・テーブルを使用すると、キーに値を指定できます.この場合、ある頂点に隣接する頂点を指定するだけでいいです.
たとえば、次のコードです.let graph = {};
graph["I"] = ["alice", "bob", "claire"];
アルゴリズムの実装
アルゴリズムの実現方式は以下の通りである.
let graph = {};
graph["I"] = ["alice", "bob", "claire"];
アルゴリズムの実現方式は以下の通りである.
YES?
ジョブ完了|NO?
は、隣接するすべてをキューに追加します.JavaScriptのDequeをまとめました。
サマリ
『Hello Codingアルゴリズム』を勉強してまとめた内容です.
Reference
この問題について(幅優先ナビゲーション), 我々は、より多くの情報をここで見つけました https://velog.io/@gay0ung/너비-우선-탐색テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol