1. Strategie di Visita in Profondità (DFS)
Le visite basate sulla profondità sfruttano la ricorsione (o uno stack esplicito) per esplorare i rami dell'albero il più in fondo possibile prima di fare ritorno. Si dividono in tre varianti a seconda del momento in cui viene elaborata la radice:
- Pre-order (Anticipata): Visita prima la radice, poi il sottoalbero sinistro, infine il destro. Utile per duplicare un albero.
- In-order (Simmetrica): Visita il sottoalbero sinistro, poi la radice e il destro. Nei BST restituisce gli elementi ordinati.
- Post-order (Posticipata): Visita prima il sinistro, poi il destro e infine la radice. Utile per cancellare o liberare la memoria di un albero.
2. Visita in Ampiezza (Level-Order / BFS)
A differenza delle visite DFS, la visita per livelli esplora l'albero procedendo orizzontalmente livello per livello, partendo dalla radice fino alle foglie. Richiede l'uso di una struttura dati ausiliaria di tipo Coda (Queue) basata sulla politica FIFO (First-In, First-Out).
DFS (Stack di ricorsione): $\mathcal{O}(h)$ dove $h$ è l'altezza dell'albero.
BFS (Coda ausiliaria): $\mathcal{O}(w)$ dove $w$ è la massima ampiezza dell'albero.
3. Simulatore Interattivo: Selettore di Visita
Seleziona il tipo di algoritmo di visita per generare l'ordine di attraversamento sull'albero campione.