私は無向グラフを持っており、それから、私は同じグラフですが、ツリーのような構造(レベルあり)です。私はBreadth First Search(BFS)アルゴリズムがどのように機能するのか知っていますが、グラフ - >ツリーからどのように遷移するかわかりません。
ここで、 このウィキペディアの記事ちょっと下をスクロールすると、ドイツの都市の2枚の写真が表示されます。そこにあるpseduoのコードを読んだ後でも、最初の写真から2番目の写真にどのように変化するのか分かりません。
回答:
回答№1は0グラフからBFSツリーを取得するための標準的な方法BFSを実行し、そのようにすると、グラフ内の各ノードをツリー内の親ノードにマッピングするテーブルを保持します。ソースノードには親がありません(結局のところrootです)。そして、ノードuを処理して未探索の隣人vを探索するたびに、vの親を次のように設定します。いくつかの小さな例でこれをトレースしてみると、これは暗黙的にツリーを構築することがわかりますが、エッジが後ろ向きになります(エッジが子から親に向かう)。その後、BFSツリーを取得するためにエッジを反転することができます。
お役に立てれば!