Salve a tutti, ho un problema.

Ho definito una struttura dati ad albero binario non bilanciato( cioè non è detto che ogni nodo abbia due figli, ma può averne anche solo uno o zero). Questo albero può avere al massimo 32 livelli. Voglio effettuare una ricerca in profondità, che conti quanti nodi ci sono all'interno dell'albero. Le classi che ho definito sono:

class Nodo {

private:
int link;

public:

Nodo * sx;
Nodo * dx;

Nodo(int l) {
link = l;
sx=0;
dx=0;
}

Nodo() {
link = -1;
sx = 0;
dx = 0;
}

~Nodo() { }

int getLink() { return link; }

void setLink(int l) { link = l; }

};

class Tree {

public:

Nodo *root;

Tree(){

root = new Nodo();
}

~Tree(){}


Ho costruito un albero mediante un metodo build, che qui non ho riportato. Una volta contati i nodi voglio moltiplicare il numero dei nodi per la size di un singolo nodo, in modo da trovare la size di tutto l'albero.

Spero che qualcuno possa aiutarmi.