Имеется бинарное самобалансирующееся дерево. Как лучше в нем реализовать элементы после конца и перед началом (чтобы потом бегать по дереву с помощью итераторов)?
Был такой вариант:
i.imgur.com/iqrWYI3.png
То есть добавить родительский элемент для корня дерева. Тогда в конце обхода я всегда бы приходил туда. Но такой способ не устраивает из-за того, что не будет возможности вернуться на предыдущий элемент. Как только я попаду в эту вершину, то оттуда уже не получится выбраться. (На скриншоте изобразил указатели на родительский элемент. То есть, самый верхний элемент является родителем сам для себя и для root).
Еще думал добавить самому левому листу дочернюю вершину, которая будет элементом перед началом. Аналогично с правым нижним листом. Но из-за постоянных перестроений дерева отказался от этой идеи.