/ /無向グラフ上でBFSを実行した後にBFSツリーを構築する方法は? - アルゴリズム、グラフ、ツリー、幅優先検索

無向グラフ上でBFSを実行した後にBFSツリーを構築する方法は? - アルゴリズム、グラフ、ツリー、幅優先検索

私は無向グラフを持っており、それから、私は同じグラフですが、ツリーのような構造(レベルあり)です。私はBreadth First Search(BFS)アルゴリズムがどのように機能するのか知っていますが、グラフ - >ツリーからどのように遷移するかわかりません。

ここで、 このウィキペディアの記事ちょっと下をスクロールすると、ドイツの都市の2枚の写真が表示されます。そこにあるpseduoのコードを読んだ後でも、最初の写真から2番目の写真にどのように変化するのか分かりません。

回答:

回答№1は0

グラフからBFSツリーを取得するための標準的な方法BFSを実行し、そのようにすると、グラフ内の各ノードをツリー内の親ノードにマッピングするテーブルを保持します。ソースノードには親がありません(結局のところrootです)。そして、ノードuを処理して未探索の隣人vを探索するたびに、vの親を次のように設定します。いくつかの小さな例でこれをトレースしてみると、これは暗黙的にツリーを構築することがわかりますが、エッジが後ろ向きになります(エッジが子から親に向かう)。その後、BFSツリーを取得するためにエッジを反転することができます。

お役に立てれば!