Изменения

Перейти к: навигация, поиск

СНМ (наивные реализации)

37 байт убрано, 01:04, 12 июня 2012
Определение
__TOC__
== Определение ==
''Система непересекающихся множеств (disjoint set union, DSU)''
Если у нас есть Структура хранит набор объектов (например, чисел от 0 до N n - 1, то ''система ) в виде непересекающихся множеств (disjoint set union, DSU)'' позволяет объединять их в множества и для . У каждого элемента узнавать представителя множества, к которому он относитсяесть конкретный представитель.
То есть определены Определены две операции:
* union(x, y) {{ --- }} объединяет множества, содержащие x и y
* find(x) {{ --- }} возвращает представителя множества, в котором находится x
Для любого элемента множества представитель всегда одинаковый. Поэтому чтобы проверить принадлежность элементов x и y одному множеству достаточно сравнить find(x) и find(y).
 
[[Файл:DSU_1_Example.png|500px|left|thumb|Пример работы СНМ]]
<br clear="all"/>
 
== Реализации ==
=== С помощью массива ===
117
правок

Навигация