Union Find

Back
Language: rust
License: CC0 1.0
Prefix: uf
Description:

※雑に生成AIで生成したダミーデータなので叩かないで…

Union-Find データ構造を実装したRustのコードです。グラフの連結成分を管理するのに使用され、以下の操作を効率的に行うことができます:

  • 2つの要素を同じグループに統合する(merge)
  • 2つの要素が同じグループに属しているか判定する(same)
  • あるグループのサイズを取得する(size)

主な特徴:

  • 経路圧縮による最適化を実装しており、rootメソッドで木の高さを抑制
  • グループ統合時にサイズによる最適化を行い、小さい木を大きい木にマージ
  • Optionを使用して親の有無を表現(Noneの場合は根)

実行時間の計算量:

  • ほぼO(α(n))(αはアッカーマン関数の逆関数)