Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• i rimanenti nodi, se esistono, possono essere suddivisi in insiemi disgiunti, ciascuno dei quali<br />
è a sua volta un albero detto sottoalbero (si noti che ciascun sottoalbero ha una propria<br />
radice).<br />
Questa definizione è ricorsiva poichè espressa in funzione di altri alberi.<br />
In Figura 17.7 sono presenti diversi sottoalberi. Tra gli altri, vi sono quelli che hanno come<br />
radice i nodi v2, v4, v6, v7.<br />
Il grado di un nodo è il numero i sottoalberi del nodo stesso.<br />
17.10.1 Visita degli alberi<br />
La visita di un albero consiste nell’ esaminare tutti i suoi nodi uno <strong>per</strong> uno in ordine appropriato.<br />
La soluzione più banale è quella di ripartire ogni volta d<strong>alla</strong> radice, dopo aver esaminato un<br />
nodo; tale soluzione è fortemente inefficiente.<br />
Sono stati proposti metodi di visita di un albero che prevedono un ordinamento particolarmente<br />
efficienti <strong>per</strong> alberi ordinati.<br />
I metodi di visita in ordine anticipato e in ordine differito si distinguono <strong>per</strong> il tempo di esame<br />
di ogni nodo rispetto ai suoi sottoalberi. Questi metodi si basano su sequenze di azioni di natura<br />
ricorsiva.<br />
17.10.2 Visita in ordine anticipato<br />
La visita in ordine anticipato prevede le seguenti azioni:<br />
1. esamina la radice<br />
2. sia n ≥ 0 è il grado (numero di sottoalberi) della radice; allora<br />
• visita il primo sottoalbero, in ordine anticipato;<br />
• visita il secondo sottoalbero, in ordine anticipato;<br />
• . . .<br />
• visita l’n-esimo sottoalbero, in ordine anticipato<br />
La visita di ciascun sottoalbero avviene partendo d<strong>alla</strong> radice del sottoalbero stesso, che è il nodo<br />
collegato <strong>alla</strong> radice del passo precedente.<br />
Si noti che in questo caso la radice viene esaminata prima di esaminare i relativi sottoalberi.<br />
In Figura 17.8 è riportata la sequenza determinata d<strong>alla</strong> visita anticipata dell’albero di<br />
Figura 17.7. I numeri all’interno dei box rettangolari rappresentano la sequenza di visita dei<br />
corrispondenti nodi. Un modo alternativo di rappresentare la sequenza di visita è il seguente:<br />
v1 [[v2 ((v5) (v6 (v10)))] [v3] [v4 (v7 ((v11) (v12)) (v8) (v9))]]<br />
dove le parentesi sono utilizzate <strong>per</strong> evidenziare i sottoalberi. L’uso delle parentesi quadre e<br />
tonde non ha alcun significato semantico, ma serve soltanto a rendere la rappresentazione più<br />
facile da interpretare. Senza l’indicazione dei sottoalberi la scrittura diventa:<br />
v1 v2 v5 v6 v10 v3 v4 v7 v11 v12 v8 v9<br />
159