|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5742
|
[JAVA ma non solo]Alberi binari e ricorsione
Non sapevo bene cosa indicare nel titolo perchè il mio post prescinde dal linguaggio di implementazione. Vi chiedo conferma di quello che succede percorrendo ricorsivamente un albero binario.
Utilizzo l'ordine simmetrico che prevede prima il figlio sinistro, poi la radice e il figlio destro. se ad esempio scrivessi una funzione o un metodo del tipo: if(radice != null){ visualizza figlio sinistro; visulizza radice; visualizza figlio destro; } Se la radice non è null continua ad eseguire "visualizza figlio sinistro". Quando trova null è giusto dire che risale perchè recupera l'esecuzione delle istruzioni "visualizza radice" e "visualizza figlio destro" per ogni volta che è stata eseguita la "visualizza figlio sinistro", come se le istruzioni fossero messe su una pila che deve essere svuotata??
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Stai descrivendo una visita in-order (simmetrica) di un albero binario.
Se ho capito bene quello che hai scritto, la risposta è sì. Come hai notato, la visita può essere implementata con una funzione ricorsiva oppure con una funzione che usa uno stack in modo esplicito.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:15.