Diz-se que duas árvores de busca binária são linearmente equivalentes quando concordam em suas travessias em ordem. O seguinte teorema explica por que as rotações das árvores são tão fundamentais:
Sejam A e B árvores de pesquisa binárias. Então A e B são linearmente equivalentes se, e somente se, estiverem conectados por uma sequência de rotações em árvore.
Percebi esse resultado quando aprendi sobre estruturas de dados há muito tempo e queria entender o status especial das rotações de árvores mais profundamente.
A prova é simples e intuitiva: gire o menor elemento até a posição raiz ao longo da coluna esquerda. Pela ordem invariável, essa árvore reorganizada não pode ter uma subárvore esquerda. Agora recursione na subárvore direita. O resultado é uma forma normal para testar a equivalência linear.
Embora seja um teorema básico, nunca o encontrei na literatura. Gostaria muito de receber uma referência para a próxima vez em que precisar usar esse resultado.
(Quebra-cabeças bônus: qual é o melhor algoritmo para encontrar a menor seqüência de rotações de árvores que conecta duas árvores de pesquisa binária linearmente equivalentes?)