BST T1 преобразуется справа в другой BST T2, если T2 можно получить из T1, выполняя только правые повороты на T1. Мне нужно доказать, что эту операцию можно выполнить за $ O (n ^ 2) $ с правым вращением.
Предположим, нам дано, что T1 обратимо справа в T2. Я понимаю рекурсивную природу алгоритма в том, что мы сначала переносим root T2 (который должен присутствовать в самом крайнем левом пути T1, чтобы он был преобразован вправо) в root T1, а затем повторите эту процедуру для 2 поддеревьев T1.
Однако я не могу придумать пример, который демонстрирует худшее поведение. Мне удалось подумать об этих 2 деревьях, хотя я не уверен, как доказать, является ли это наихудшим сценарием.
Tree 1 Tree 2
6 1
/ \
5 2
/ \
4 3
/ \
3 4
/ \
2 6
/ /
1 5
Дерево 1 можно преобразовать вправо в T2, повернув вправо от узла 2 вперед 5 + 4 + 3 + 2 раза.
В общем, как мне найти случай, который требует $ O (n ^ 2) $ правого поворота для преобразования одного BST в другой?