View Single Post
Old 14-12-2010, 19:50   #1
guylmaster
Senior Member
 
L'Avatar di guylmaster
 
Iscritto dal: Aug 2002
Messaggi: 2518
[c++] Visita per livello alberi binari Ricorsiva

Salve a tutti,
avrei un piccolo problema riguardo agli alberi binari, in internet o sulle slide delle lezioni riesco a trovare la visita per livelli (detta anche in ampiezza) solo in maniera iterativa, mentre io avrei bisogno di quella ricorsiva.

Non essendo molto bravo con le funzioni ricorsive sapreste aiutarmi voi a convertirla?

Codice:
PROCEDURE visita_livello (T albero)
coda c, tipolelema ,nodo u
u <- binradice(T)
creacoda(C)
incoda(u,C)
WHILE (codavuota(C) = FALSE) DO
u <- leggicoda(C)
fuoricoda(C)
a<- legginodo(u,T)
SCRIVI (a)
IF (sinistrovuoto(u,T) = FALSE)THEN
incoda(figliosinistro(u,T))
IF (destrovuoto(u,T) = FALSE)THEN
incoda(figliodestro(u,T))
Sostanzialmente nella versione iterativa utilizza una coda di appoccio di cui nella versione ricorsiva immagino non ne avremo bisogno, ma ripeto non riesco a convertirla da solo.

Vi ringrazio,
guylmaster.
guylmaster è offline   Rispondi citando il messaggio o parte di esso