BFSとDFS
コンテンツ
幅優先検索であるBFSと深さ優先検索であるDFSの違いは、幅優先検索は訪問した頂点を格納するためのキューを使用するグラフトラバース方式であるのに対して、深さ優先検索はスタックを使用するグラフトラバーシング方式であるということです訪問した頂点を保存します。
ブレスファーストサーチとデプスファーストサーチは、コンピュータープログラミングの最も重要な概念の1つです。深さ優先の検索は、開始から終了までのパスをたどりますが、これはパンファースト検索の作業レベルごとの終了ノードです。主な違いについて話すと、幅優先検索であるBFSと深さ優先検索であるDFSの主な違いは、幅優先検索は訪問先の頂点を格納するためのキューを使用するグラフ走査方式であるのに対して、深さ優先検索であるということですは、訪問した頂点を保存するためにスタックを使用するグラフトラバースメソッドです。まもなくBFSと呼ばれる幅優先の検索。BFSはグラフを横断するために使用されます。キューは、訪問した頂点をBFSに保存するために使用されます。 BFSは頂点で動作し、訪問された頂点はキューに保存されます。頂点は1つずつ保存されます。グラフ内の各ノードが完全に探索され、グラフの他の頂点が訪問されます。
DFSとして知られる深さ優先検索は、頂点を保存するためにスタックを使用したグラフトラバース方式でもあります。幅優先検索はエッジベースの方法ではありませんが、深さ優先検索はエッジベースの方法です。深さ優先探索は、頂点がエッジを介して探索される再帰的な方法で機能します。深さ優先検索では、2回検査された各頂点が1回訪問されます。
内容:BFSとDFSの違い
- 比較表
- BFS
- DFS
- 主な違い
- 結論
- 説明ビデオ
比較表
基礎 | BFS | DFS |
意味 | 幅優先検索は、訪問した頂点を保存するためにキューを使用するグラフトラバースメソッドです。 | 深さ優先探索は、訪問した頂点を保存するためにスタックを使用するグラフ探索法です。 |
アルゴリズム | 幅優先検索は頂点ベースのアルゴリズムです | 深さ優先検索はエッジベースのアルゴリズムです |
記憶 | 幅優先検索はメモリ効率が悪い | 深さ優先の検索はメモリ効率が良い |
応用 | グラフに存在する2部グラフ、連結成分、最短経路を調べます。 | 2辺連結グラフ、強く連結されたグラフ、非循環グラフ、トポロジカル順序を調べます。 |
BFS
まもなくBFSと呼ばれる幅優先の検索。BFSはグラフを横断するために使用されます。キューは、訪問した頂点をBFSに保存するために使用されます。 BFSは頂点で動作し、訪問された頂点はキューに保存されます。頂点は1つずつ保存されます。グラフ内の各ノードを完全に探索し、グラフの他の頂点にアクセスします。幅優先検索は、グラフが接続されているかどうかを見つけるために使用されます。幅優先検索は、2部グラフの検出に使用されます。最短パスの検索は、BFSを使用して行われます。
DFS
DFSと呼ばれる深さ優先検索は、頂点を格納するためにスタックを使用したグラフトラバース方式でもあります。幅優先検索はエッジベースの方法ではありませんが、深さ優先検索はエッジベースの方法です。深さ優先探索は、頂点がエッジを介して探索される再帰的な方法で機能します。深さ優先探索では、2回検査された各頂点が1回訪問されます。
主な違い
- 幅優先検索は、訪問した頂点を保存するためにキューを使用するグラフ走査方法であり、深さ優先検索は、訪問した頂点を保存するためにスタックを使用するグラフ走査方法です。
- 幅優先探索は頂点ベースのアルゴリズムですが、深さ優先探索はエッジベースのアルゴリズムです
- 幅優先検索はメモリ効率が悪いのに対し、深さ優先検索はメモリ効率が悪いです。
- グラフに存在する2部グラフ、連結成分、および最短経路を調べ、2エッジ連結グラフ、強く連結されたグラフ、非循環グラフ、およびトポロジカル順序を調べます。
結論
上記のこの記事では、実装によるブレスファーストサーチと深さファーストサーチの明確な違いを確認しました。