Ciao a tutti,stò preparando l'esame di algoritmi e strutture dati e stò provando a risolvere gli esercizi degli appelli precedenti.Avrei bisogno del vostro aiuto per verificare se ho svolto bene gli esercizi,ecco il testo:
Considerate un albero binario di ricerca i cui nodi sono strutture C definite da:
struct nodo {
int val;
struct nodo *sx;
struct nodo *dx;
}
e definite una procedura non ricorsiva lessthan che riceve in ingresso un albero e un intero e
restituisce il numero di valori presenti nell'albero e minori del valore specificato. Supponete che
sia disponibile uno stack S (variabile globale) in cui e possibile inserire o estrarre puntatori a nodi
(un albero vuoto e rappresentato da un puntatore con valore NULL).
int lessthan(struct nodo*r,int a{
if(r!=NULL && r->val<a){
Push(S,r);
}
if(r->sx !=NULL && r->val<a){
Push (S,r)
}
f(r->dx !=NULL && r->val<a){
Push (S,r)
}
return S.dim;
}
Ho pensato di risolverlo inserendo gli elementi minori di un dato intero nello stack e di restituire la dimensione dello stack!Grazie mille