Java: Граф даже значения в бинарном дереве поиска рекурсивно

голоса
-2

Мне нужно, чтобы узнать, сколько даже значения содержатся в бинарном дереве.

это мой код.

private int countEven(BSTNode root){

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

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


}

это я просто закодированы как я не способ проверить это. Я не в состоянии проверить это на данный момент, но нужен ответ так плохо. любая помощь глубоко признателен.

Задан 02/04/2010 в 14:13
источник пользователем
На других языках...                            


2 ответов

голоса
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;
}
Ответил 02/04/2010 в 14:20
источник пользователем

голоса
1

Если узел с нечетным значением, содержащим подузлы с четными значениями, подузлы не будут учитываться в вашем коде. Малое повышение ниже.

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


}
Ответил 02/04/2010 в 14:21
источник пользователем

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