Java: Hrabia nawet wartości w binarne drzewo poszukiwań rekurencyjnie

głosy
-2

Muszę dowiedzieć się, ile jeszcze wartości zawarte są w binarnym drzewie.

to jest mój kod.

private int countEven(BSTNode root){

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

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


}

to ja po prostu zakodowane jak nie ma sposobu, aby przetestować to. Nie jestem w stanie przetestować go w tej chwili, ale trzeba odpowiedzieć tak źle. Każda pomoc jest głęboko cenione.

Utwórz 02/04/2010 o 14:13
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
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;
}
Odpowiedział 02/04/2010 o 14:20
źródło użytkownik

głosy
1

Jeśli istnieje węzeł o wartości nieparzystej zawierającej podwęzły o wartościach nawet, że podwęzły nie będą liczone w kodzie. Małe wzmocnienie poniżej.

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);


}
Odpowiedział 02/04/2010 o 14:21
źródło użytkownik

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