|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2007
Messaggi: 381
|
[C] Aiuto - Come funziona lo stack nelle chiamate ricorsive sugli alberi?
Oggi sto cominciando a fare pratica con gli alberi binari in c ma non riesco a capire come funzionano queste 3 semplici funzioni.
Codice HTML:
void Inorder(tree t){
if(t!=NULL)
{
Inorder(t->SX);
printf("%d ", t->DATO);
Inorder(t->DX);
}}
void Preorder(tree t){
if(t!=NULL)
{
printf("%d ", t->DATO);
Preorder(t->SX);
Preorder(t->DX);
}
}
void Postorder(tree t)
{
if(t!=NULL)
{
Postorder(t->SX);
Postorder(t->DX);
printf("%d ", t->DATO);
}
}
Potete spiegarmi tutti i passaggi che fanno le 3 funzioni, cioè come agiscono sullo stack ecc..in pratica non capisco ancora bene come funzionano le chiamate ricorsive. Vorrei capirlo bene perchè se non capisco questo dubito che potrò fare esercizi piu difficili sugli alberi. Vi ringrazio in anticipo. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2007
Messaggi: 381
|
è un po complicato da capire per me..non avete qualcosa dove lo spiega graficamente?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Un'immagine grafica che illustra in modo banale l'attraversamento in inorder, preorder e postorder lo trovi a questa pagina di wikipedia (in inglese)
__________________
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) |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2007
Messaggi: 381
|
ti ringrazio però mi servirebbe un immagine di come avviene il riempimento e svuotamento dello stack.
in poche parole non capisco come vengono eseguite queste cose inorder(ALBERO->SINISTRO) PRINTF(NODO) inorder(ALBERO->DESTRO) non capisco i vari passaggi, ad esempio quando arriva alla fine dell'albero e poi torna su.. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:47.




















