Si dice che due alberi di ricerca binari siano linearmente equivalenti quando concordano nei loro attraversamenti in ordine. Il seguente teorema spiega perché le rotazioni degli alberi sono così fondamentali:
Lascia che A e B siano alberi di ricerca binari. Quindi A e B sono linearmente equivalenti se e solo se sono collegati da una sequenza di rotazioni dell'albero.
Ho notato questo risultato quando ho appreso per la prima volta informazioni sulle strutture di dati molto tempo fa e volevo capire più a fondo lo stato speciale delle rotazioni degli alberi.
La dimostrazione è semplice e intuitiva: ruota il minimo elemento fino alla posizione della radice lungo il dorso sinistro. Per invariante dell'ordine, questo albero riorganizzato non può avere una sottostruttura sinistra. Ora ricorrere sulla sottostruttura giusta. Il risultato è una forma normale per testare l'equivalenza lineare.
Sebbene sia un teorema di base, non mi sono mai imbattuto in letteratura. Gradirei molto un riferimento per la prossima volta che dovrò usare questo risultato.
(Bonus rompicapo: qual è l'algoritmo migliore per trovare la sequenza più breve di rotazioni degli alberi che collegano due alberi di ricerca binari linearmente equivalenti?)