Ciao a tutti, devo scrivere una funzione che stampi un'elbero binario come un sommario per essere più chiaro vi allego un'immagine, guardate il punto 1.2:
http://lonati.dsi.unimi.it/algo/0910/lab/L07.pdf
La funzione viene definita nel seguente modo:
Nel testo mi viene suggerto di usare una visita in prorder(vi scrivo anche la funzione preorder originale, e quella di printnode):codice:void bit_printassummary ( Bit_node p, int spaces );
codice:void bit_preorder ( Bit_node p ){ if ( p ) { bit_printnode ( p ); bit_preorder ( p -> l ); bit_preorder ( p -> r ); } }la cosa che non ho veramente capito al di là della funzione in se, è a cosa corrispondono gli spazi che passo come argomento alla funzione, perchè in linea di principio per stampare a sommario si deve far addentrare il nodo di uno spazio in base a quanti padri abbia, o sbaglio?codice:void printnode(Bit_node p){ printf("%d ",p->item); }
Grazie![]()

Rispondi quotando