Perché non è possibile ricreare un albero AVL utilizzando l'attraversamento pre-ordine?

0

Dato un albero di ricerca binario, capisco perché posso usare la traversata in ampiezza e in preordine per elencare le voci dell'albero in modo tale da ricostruire l'albero nell'ordine in cui è attraversato.

Tuttavia, se ora consideriamo un albero AVL e vogliamo attraversare l'albero in modo tale da ricreare lo stesso albero AVL (simile a quello che abbiamo fatto con l'albero binario normale) allora perché la larghezza prima di attraversare funziona sempre e perché il preordino non funziona con questo caso dato che funziona con alberi binari standard?

    
posta rrazd 25.02.2012 - 03:10
fonte

1 risposta

5

A differenza di un semplice albero binario, gli alberi AVL sono autobilanciati . Quando un elemento viene inserito in un albero AVL, l'albero potrebbe dover eseguire rotazione dei nodi per mantenere un certo profondità dell'albero, che consente il tempo di ricerca logaritmico. Pertanto, se si tenta di creare un secondo albero AVL utilizzando l'attraversamento del nodo preordinato su un albero AVL esistente, l'albero risultante non avrà necessariamente la stessa struttura nodo, poiché potrebbe essere necessario eseguire rotazioni nodo per mantenere l'albero bilanciato .

    
risposta data 25.02.2012 - 04:25
fonte

Leggi altre domande sui tag