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:

codice:
void bit_printassummary ( Bit_node p, int spaces );
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_preorder ( Bit_node p ){
if ( p ) {
bit_printnode ( p );
bit_preorder ( p -> l );
bit_preorder ( p -> r );
}
}
codice:
void printnode(Bit_node p){
	printf("%d ",p->item);
}
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?

Grazie