Лес с несвязанным множеством предоставляет две операции:
- Объединение , которое берет два объекта и связывает их, и
- Найти , который принимает два объекта и возвращает идентификатор группы, в которой они находятся.
Леса с непересекающимися множествами используются главным образом для поддержания разделения группы объектов на семейство разных кластеров,каждый из которых не пересекается с другим (то есть каждый объект находится не более чем в одной группе).Лес несвязанного множества затем позволяет эффективно определять, какие объекты находятся в каждой группе, или (примерно за O (n) время) определять идентификаторы кластера для каждого объекта.
Чтобы использовать лес несвязанного множества,вы бы начали с помещения каждого объекта в свой кластер.С этого момента, каждый раз, когда вы хотите отметить, что два разных объекта находятся в одном кластере, вы будете использовать операцию union , чтобы связать их вместе.В самом конце, вы бы позвонили find в каждой точке, чтобы определить, к какому кластеру она принадлежит, и оттуда могли бы прочитать, к какой группе все принадлежит.
Надеюсь, это поможет!