私は、BFSが最短パスを把握するためにキューでどのように動作するのかを理解しようとしています。シンプルなbfsの例...私はそれを得ません
開始点が「9」でターゲットが「0」であるとします。
だから... ...私はスタートを押して...
push 9 {9}
pop 9 {}
push 6 {6}
push 8 {6,8}
pop 6 {8}
push 3 {8,3}
push 5 {8,3,5}
pop 8 {3,5}
push 7 {3,5,7}
pop 3 {5,7}
push 2 {5,7,2}
pop 5 {7,2}
push 4 {7,2,4}
pop 7 {2,5}
found 0
は、どのように私はこの混乱からの最短経路を抽出することができますか?私はこれが私に最短経路を与える方法を見ない。私はそれについて間違っていると思いますか?
ありがとうございます!
あなたは既に訪問されたノードをマークするために、追加のマーク[]フラグ配列を持っている必要がありますか?私のローカルマシンで実行されると、あなたの実装は無期限にループするようです。 – evandrix