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