最小全域木(クラスカル法とUnionFind) 今回は無向グラフの最小全域木について説明します。 最小全域木を用いる問題はICPCでもたまに出題されます(今年のアジア地区予選東京大会F問題とか)。 最小全域木とは 無向連結グラフの全域木は、グラフが連結であるという条件を保ったまま辺を消去して得られる木のことです。 最小全域木は、全域木を構成する辺のコストの総和が最小となるもののことを指します。 最小全域木問題は、与えられたグラフの最小全域木またはそのコストを求める問題です。 次の図は最小全域木の例です。赤い辺が最小全域木を構成します。 赤い辺以外を消去するとグラフは全域木になり、また少し考えるとこれよりコストの和が小さい全域木が存在しないことがわかります。 最小全域木問題の解法 最小全域木は グラフの辺を、 コストが小さい順に、 閉路を作らないように採用していく という貪欲法で求められます
![最小全域木(クラスカル法とUnionFind) - アルゴリズム講習会](https://cdn-ak-scissors.b.st-hatena.com/image/square/ef5bf17a260448bdf826407eef31cd2009a13dce/height=288;version=1;width=512/http%3A%2F%2Fdai1741.github.io%2Fmaximum-algo-2012%2Fimages%2Fminimum-spanning-tree%2Fkruskal-sample.png)