Вы также можете реализовать операцию поворота. A вращение изменяет структуру без изменения порядка элементов. Это обычно используется для балансировки дерева (чтобы убедиться, что листья все находятся на одной глубине), а также может использоваться для изменения корня на заданный элемент, если вы знаете, что он будет чаще появляться в поиске.
Мое искусство ASCII не велико, но вращение может превратить это дерево:
f
d g
b e
a c
в это дерево:
d
b f
a c e g
Второе сбалансированное дерево сделает поиск f и g медленнее, а поиск d, a, b, c быстрее, если e останется прежним.