|definition = Определить структуру данных для хранения эйлеровых обходов деревьев для наиболее эффективного выполнения указанных операций.
}}
При представлении деревьев в виде их эйлерова обхода выполнение каждой операции <tex>\mathrm{link}</tex> и <tex>\mathrm{cut}</tex> сводится к <tex>O(1)</tex> соединений и разбиений отрезков в последовательности вершин эйлерова обхода.
Рассмотрим следующие структуры данных для определения времени выполнения разбиения и соединения последовательностей, а также определение принадлежности вершин одной компоненте связности.
===Связные списки===
[[Файл:Linked lists.png |center]]
Каждое разбиение и соединение последовательностей требует <tex>O(1)</tex>.
Для каждой вершины будем хранить указатели на первое и последнее вхождение вершины в последовательность. Тогда возможно определять первое и последнее вхождение вершины за <tex>O(1)</tex>.
Однако,используя [[Список|двусвязные списки]] определение принадлежности вершин одной компоненте связности занимает <tex>O(\log n)</tex> в худшем случае.
===Balanced Trees===