Nel libro Introduzione agli algoritmi - un approccio creativo, Domanda 4.24:Dimostrare numero massimo di giri per due alberi a diventare uguale
Let T1 e T2 essere due alberi arbitrari, ciascuno con n nodi . Dimostrare che è sufficiente applicare al massimo 2n rotazioni a T1, in modo che diventi uguale a T2.
Per gli alberi binari di ricerca, ho capito un algoritmo:
trovare l'elemento che è pari a radice di T2, chiamiamolo target-root.
Utilizzando la strategia di rotazione AVL, ruotare target-root per renderlo la nuova radice di T1.
Durante questo processo, possono essere eseguite più rotazioni.Per l'albero secondario sinistro di T1 e T2, elaborarli come in precedenza in modo ricorsivo.
Per l'albero secondario destro di T1 e T2, elaborarli come in precedenza in modo ricorsivo.
Questo algoritmo, nel caso peggiore, viene eseguito in O (N^2).
Non capisco la frase "alberi arbitrari" e non riesco a capire come rendere T1 uguale a T2.
Qualcuno può aiutare in questa domanda?
Non so c'è una risposta semplice. Penso che questo documento sia un buon punto di partenza. Daniel Sleator, Robert Tarjan e William Thurston hanno mostrato che la distanza di rotazione tra due alberi n-nodi (per n ≥ 11) è al massimo 2n - 6, e che infinitamente molte coppie di alberi sono così distanti. http://www.ams.org/journals/jams/1988-01-03/S0894-0347-1988-0928904-4/home.html – amald
@amald grazie, leggerò il documento – Guocheng