PythonでのUnion Findデータ構造(素集合データ構造)の実装とその使い方を説明する。 まずはじめに最終形のクラスとその使い方のサンプルコードを示し、後半で素朴な実装からいくつかの工夫を加えて最終形に至るまでを説明する。 Union Find(素集合データ構造)の概要 PythonでのUnion Findの実装例 サンプルコードのクラスの使い方 文字列やタプルなどを要素とする場合 素朴な実装 実装の効率化 経路圧縮(Path Compression) ランク(Union by Rank) サイズ(Union by Size) 根の値にサイズ、ランクを格納 AtCoderおよびAOJのUnion Findに関する問題の解答コードを参考にした。 AtCoder Typical Contest 001 B - Union Find 互いに素な集合 Union Find| データ構造ライ
![PythonでのUnion-Find(素集合データ構造)の実装と使い方 | note.nkmk.me](https://cdn-ak-scissors.b.st-hatena.com/image/square/0e2c4c386aa67ea087bf18072fcf1f476050c7a6/height=288;version=1;width=512/https%3A%2F%2Fi.gyazo.com%2F5d1b2ab5838e5191e136bb27094da555.png)