Расстояние вращения между двумя бинарными деревьями
У меня есть следующее двоичное дерево, которое я пытаюсь преобразовать в целевое двоичное дерево (второе дерево в записи), используя минимальное количество поворотов дерева. Теоретическое минимальное количество поворотов для этого дерева - 5, однако наименьшее значение, которое я могу определить, - это 6 поворотов, я также скопировал повороты, что мне не хватает?
Дерево:
1
\
\
3
/ \
/ \
2 5
/ \
/ \
4 7
/ \
/ \
6 11
/ \
/ \
9 12
/ \
8 10
Целевое дерево:
1
\
\
11
/ \
/ \
9 12
/ \
/ \
3 10
/ \
/ \
2 5
/ \
/ \
4 7
/ \
6 8
Вращения, которые я пробовал до сих пор (все из которых требуют 6 вращений):
Заказ1:
Rotate left with root 7 and pivot 11
Rotate left with root 5 and pivot 11
Rotate left with root 3 and pivot 11
Rotate left with root 7 and pivot 9
Rotate left with root 5 and pivot 9
Rotate left with root 3 and pivot 9
order2:
Rotate left with root 7 and pivot 11
Rotate left with root 5 and pivot 11
Rotate left with root 7 and pivot 9
Rotate left with root 3 and pivot 11
Rotate left with root 5 and pivot 9
Rotate left with root 3 and pivot 9
Order3:
Rotate left with root 7 and pivot 11
Rotate left with root 5 and pivot 11
Rotate left with root 7 and pivot 9
Rotate left with root 5 and pivot 9
Rotate left with root 3 and pivot 11
Rotate left with root 3 and pivot 9
порядка 4:
Rotate left with root 7 and pivot 11
Rotate left with root 7 and pivot 9
Rotate left with root 5 and pivot 11
Rotate left with root 3 and pivot 11
Rotate left with root 5 and pivot 9
Rotate left with root 3 and pivot 9
Order5:
Rotate left with root 7 and pivot 11
Rotate left with root 7 and pivot 9
Rotate left with root 5 and pivot 11
Rotate left with root 5 and pivot 9
Rotate left with root 3 and pivot 11
Rotate left with root 3 and pivot 9
1 ответ
Поворот вправо с корнем 11 и поворотом 9
Поверните налево с корнем 7 и поворотом 9
Поверните налево с корнем 5 и поворотом 9
Поверните налево с корнем 3 и поворотом 9
Поверните налево с корнем 9 и поворотом 11