Salve a tutti,innanzitutto complimenti per il bel forum,ho risolto un bel po di dubbi leggendo le vostre discussioni.
Vorrei chiedervi aiuto per due esercizi.
ESERCIZIO 1-Si scriva una funzione, in linguaggio C, che preso in ingresso un albero con radice generico (in cui ogni nodo può avere un numero generico di figli) ritorni il numero di nodi aventi figli unici (cioè un solo nodo figlio).
vorrei sapere se la funzione che ho fatto è accettabile:
codice:
struct nodo {
int label;
struct nodo *figlio;
struct nodo *fratello;
};
typedef struct nodo* tree;
int funzione(tree t){
if(t==NULL)
return 0;
if(t->figlio!=NULL && t->figlio->fratello==NULL)
return(1+funzione(t->fratello));
else
return(funzione(t->figlio) + funzione(t->fratello));
}
ESERCIZIO 2-Si scriva una funzione, in linguaggio C, che presi in ingresso un grafo G=(V,E) e due vertici x,y ∈ V, ritorni lʼinsieme di tutti i cammini semplici da x a y. Si utilizzi, per realizzare lʼalgoritmo, la tecnica del backtracking.
qui non ho saputo realizzare bene la funzione,vorrei un aiuto da parte vostra.
grazie mille in anticipo