Union-Find (Disjoint Set Union - Tập hợp rời rạc) theo dõi một phân hoạch các phần tử thành các tập rời nhau (disjoint sets) và hỗ trợ hai thao tác gần như O(1): find (x thuộc tập nào?) và union (gộp hai tập). Nó xuất sắc với các truy vấn về tính liên thông.
Ý tưởng
Mỗi tập là một cây với một gốc đại diện. Với (nén đường) và (gộp theo hạng/kích thước), các thao tác chạy trong thời gian gần như hằng số (Ackermann nghịch đảo, α(n)).
