2017-04-06 19 views
1

スパニング・ツリースパニング・フォレストの違いは何ですか?スパニングツリーVS.スパニング・フォレスト

また、それは、DFSまたはBFS横断を通じてスパニング森を構築することが可能でしょうか?どうして?どうやって?

私はスパニングツリーを理解していますが、スパニングフォレストについて明確な説明が見つかりませんでした。ウィキペディア(https://en.wikipedia.org/wiki/Spanning_tree)でも、それについての明確な定義はありません。 私の本(Data Structures &アルゴリズム、Wiley - 第6版)には、スパニングフォレストの定義もありません。

たとえば、3つの接続されたコンポーネントを含むグラフがあれば、DFS/BFSトラバーサルによってスパニングフォレストを構築することは可能でしょうか?

+0

グラフの各接続コンポーネントはスパニングツリーを生成します。これらのスパニングツリーはすべてスパニングフォレストと呼ばれます。 – Rishav

+0

@Rishav返信ありがとうございます。あなたはこの写真のそれをこの例で説明できますか? https://en.wikipedia.org/wiki/Connected_component_(graph_theory)#/media/File:Pseudoforest.svg –

+0

私は現時点で写真編集者はいませんが、接続されたコンポーネントの概念をよく知っていますか?接続されたコンポーネントは、互いに到達可能なすべての頂点で構成されます。その絵の中に3つあります。これらの各コンポーネントは、単一のスパニングツリーを生成するために使用されます。スパニングツリーの3つすべてのセットを取得すると、それは広がるフォレストと呼ばれます。 – Rishav

答えて

2

お客様のにの接続コンポーネントがある場合はspanning tree = spanning forestです。

ただし、グラフにconnected componentsが複数ある場合。たとえば、画像を以下に私たちは、 connected componentsを持っています。

enter image description here

だから各componentのために、私たちはspanning treeを持つことになり、すべての spanning treesは私がいたspanning forest

を構成しますたとえば、3つのグラフが接続されている場合は、 のコンポーネントが接続されていれば、でスパニングフォレストを構築できますか?DFS/BFSトラバーサル?

はい可能です。 1つだけがある場合、BFSまたはDFSはすべての頂点を訪れて終了し、spanning tree (which in this case is equal to spanning forest)になります。

しかし、あなたは絵のように、1 以上のものを持っているとき、あなたがしなければならない唯一のことは、未訪問の頂点から別のBFSまたはDFSを開始しています。 未訪問の頂点がなくなり、それぞれBFSまたはDFSのトラバーサルがある場合、アルゴリズムは終了し、spanning treeとなります。

関連する問題