Java: Count anche i valori in un binario di ricerca in modo ricorsivo albero

voti
-2

Ho bisogno di scoprire quanti valori ancora contenuti in un albero binario.

questo è il mio codice.

private int countEven(BSTNode root){

if ((root == null)|| (root.value%2==1))
return 0;

return 1+ countEven(root.left) + countEven(root.right);


}

questo ho appena codificato come non ho un modo per testare il tutto. Io non sono in grado di verificare il lavoro svolto al momento, ma bisogno di una risposta così male. ogni aiuto è molto apprezzato.

È pubblicato 02/04/2010 alle 14:13
fonte dall'utente
In altre lingue...                            


2 risposte

voti
0
private int countEven(BSTNode root) {
   if (root == null)
      return 0;

   int n = countEven(root.left) + countEven(root.right);
   if(root.value % 2 == 0)
      return n + 1;
   else
      return n;
}
Risposto il 02/04/2010 a 14:20
fonte dall'utente

voti
1

Se v'è un nodo con un valore dispari che contiene sotto-nodi con valori pari, i sotto-nodi non verranno conteggiati nel codice. Piccolo miglioramento sotto.

private int countEven(BSTNode root){

  if (root == null)
    return 0;

  int val = (root.value%2==1) ? 0 : 1;

  return val + countEven(root.left) + countEven(root.right);


}
Risposto il 02/04/2010 a 14:21
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more