最短経路を探す場合、幅優先検索はどのように機能しますか?
いくつかの調査を行ったところ、このアルゴリズムの一部が欠けているようです。幅優先検索がどのように機能するかは理解していますが、個々のノードがどこに移動できるかを指示するだけではなく、特定のパスにたどり着く方法を正確には理解していません。私の混乱を説明する最も簡単な方法は、例を提供することです: たとえば、次のようなグラフがあるとします。 そして、私の目標は、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ですか? また、私は実際にはツリーを使用していないので、「親」ノードはなく、子だけがあることに注意してください。