Ricerca carattere in un albero, è giusto cosi?

di il
2 risposte

Ricerca carattere in un albero, è giusto cosi?

Vorrei sapere se il metodo implementato è giusto, funzione che ricerca un carattere e restituisce true se ha trovato l'elemento in un albero di caratteri

bool funzione(Albero<char>A, char x) 

if (A.Nullo){ return false }
if (A.value == x){ return true }
bool ps = funzione (A->sx , x) 
bool pd = funzione (A->dx , x) 
return (pd || ps)

2 Risposte

  • Re: Ricerca carattere in un albero, è giusto cosi?

    Apparentemente sì (dal punto di vista sintattico ti mancano alcuni punti e virgola...).
    Comunque dopo aver determinato ps potresti uscire subito, ovvero senza attraversare il sottoalbero destro, se ps == true
    if(funzione (A->sx , x))
       return true;
    return funzione (A->dx , x);
  • Re: Ricerca carattere in un albero, è giusto cosi?

    OK grazie, perchè il mio dubbio era che le variabili ps e pd tornassero false anche se avessero trovato l'elemento, nel senso visito un nodo, è NULL , e mi ritorna FALSE, passo ad un altro e trovo elemento e ritorna TRUE, continuo con un altro nodo, è NULL, quindi la variabile bool ridiventa FALSE.
Devi accedere o registrarti per scrivere nel forum
2 risposte