タグ付けされた質問 「breadth-first-search」

16
深さ優先検索(DFS)と幅優先検索(BFS)を使用するのはいつ実用的ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 10日前休業。 DFSとBFSの違いは理解していますが、どちらを使用する方が実際的かを知りたいのですが。 誰かがDFSがBFSを打ち負かす方法の例を教えてもらえますか?



7
DFSとBFSの両方の時間の複雑さはなぜですかO(V + E)
BFSの基本的なアルゴリズム: set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its not visited load into queue mark vertex したがって、時間の複雑さは次のようになると思います。 v1 + (incident edges) + v2 + (incident edges) + .... + vn + (incident edges) v頂点はどこ1にn まず、私が言ったことは正しいですか?第二に、これはどうですか、O(N + E)そしてなぜ素晴らしいのかについての直感。ありがとう

7
最短経路を探す場合、幅優先検索はどのように機能しますか?
いくつかの調査を行ったところ、このアルゴリズムの一部が欠けているようです。幅優先検索がどのように機能するかは理解していますが、個々のノードがどこに移動できるかを指示するだけではなく、特定のパスにたどり着く方法を正確には理解していません。私の混乱を説明する最も簡単な方法は、例を提供することです: たとえば、次のようなグラフがあるとします。 そして、私の目標は、AからEに到達することです(すべてのエッジは重み付けされていません)。 Aから始めます。それが私の原点だからです。私はAをキューに入れ、すぐにAをデキューして探索します。AはBとDに接続されているため、これによりBとDが生成されます。したがって、BとDの両方をキューに入れます。 Bをデキューして探索し、A(探索済み)とCにつながることがわかったので、Cをキューに入れます。次に、Dをデキューして、目標であるEにつながることを見つけます。次にCをデキューしましたが、それが私の目標であるEにもつながることがわかりました。 最速のパスがA-> D-> Eであることは論理的にわかっていますが、幅優先検索がどのように役立つかわかりません-終了時に結果を分析して確認できるようにパスを記録するにはどうすればよいですか最短経路はA-> D-> Eですか? また、私は実際にはツリーを使用していないので、「親」ノードはなく、子だけがあることに注意してください。

4
幅優先検索(BFS)が同じことをより速く実行できるのに、なぜダイクストラのアルゴリズムを使用するのですか?
どちらも、単一のソースからの最短経路を見つけるために使用できます。BFSはで実行されO(E+V)、ダイクストラはで実行されO((V+E)*log(V))ます。 また、ダイクストラがルーティングプロトコルでよく使用されるのを見ました。 したがって、BFSが同じことをより速く実行できるのに、なぜダイクストラのアルゴリズムを使用するのでしょうか。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.