14
правок
Изменения
Нет описания правки
==Реализация==
Каждое множество хранится в виде дерева. Элементы множества хранятся в узлах дерева. У каждого множества есть его представитель {{---}} один из элементов этого множества, он хранится в корне дерева. В каждом узле, кроме корня, хранится ссылка на "родителя".
===Сжатие пути===
Эта эвристика несколько модифицирует операцию ''get''. Операция get вызывается для элемента ''x'', проходит через несколько вершин и попадает в корень. Все пройденные в этом процессе вершины принадлежат тому же множеству, что и ''x''. Поэтому подвесим мы можем подвесить (изменим изменить ссылки) их эти вершины напрямую к корню дерева и, таким образом, уменьшим уменьшить его высоту. При нерекурсивной реализации операция ''get'' становится двухпроходной.
===Псевдокод===