Devo scrivere una funzione int conta(Node* tree) che dato un albero generico memorizzato con la memorizzazione figlio-fratello, mi restituisce il numero di nodi aventi esattamente due figli. Come fare???
grazie
Devo scrivere una funzione int conta(Node* tree) che dato un albero generico memorizzato con la memorizzazione figlio-fratello, mi restituisce il numero di nodi aventi esattamente due figli. Come fare???
grazie
dammi l'esatta definizione del tipo Tree
Sun Certified Java Programmer
EUCIP Core Level Certified
European Certification of Informatics Professionals
Il tipo non è tree (è solo il nome del puntatore) ,il tipo è Node.
struct Node {
Infotype label;
Node* left, *right;}
left è il puntatore al primo figlio del nodo
right è il puntatore al primo fratello del nodo
Bisogan usare la ricorsione
Un nodo ha due figli se vaglono queste tre condizioni:
1 - nodo -> left != NULL (ha un primo figlio)
2 - nodo -> left -> right != NULL (ha un secondo figlio)
3 - nodo -> left -> right -> right == NULL (non ha un terzo figlio)
codice:int nodi_con_2_figli(Node* tree){ if(tree == NULL) return 0; int count = 0; if(tree->left != NULL) if(tree->left-> right != NULL) if(tree->left-> right->right == NULL) count++; count = count + nodi_con_2_figli(tree->left); count = count + nodi_con_2_figli(tree->right); return count; }
Sun Certified Java Programmer
EUCIP Core Level Certified
European Certification of Informatics Professionals