16

エッジが重み付けされていないグラフ内の 2 つのノード間のパスを見つけようとしています。

パスの存在を見つけるために、ターゲットを見つけると停止するBreadth First Searchを使用していますが、パス自体を取得する方法がわかりません。

訪問したノードのリストを調べてみましたが、これは役に立たないようです。Prolog を使用してこの質問に答える人を見ましたが、私は C++ プログラマーです。

も見ましたDijkstras algorithmが、単純な幅優先検索でほとんどすべてを理解できたので、これはやり過ぎのようです。

幅優先探索を使用して 2 つのノード間のパスを取得する方法は?

4

2 に答える 2

25

parentNodeノード構造体で、パス内のそのノードの親であるという変数を追加します。最後に、ゴール ノードから逆方向にトラバースすることで、パスを取得できます。

于 2011-03-01T02:48:43.813 に答える