Я думаю , Непересекающийся Набор довольно изящен для случаев, когда необходимо разделить набор объектов в отличные наборы и членство в запросе. Хорошая реализация Объединения и Находит операционный результат в амортизируемых затратах, которые являются эффективно постоянными (инверсия Функции Ackermnan, если я вспоминаю свой класс структур данных правильно).