Java: yinelemeli bir ikili arama Ağacında bile değerlerini sayın

oy
-2

Ben bir ikili ağacın içinde bulunan kaç hatta değerler bulmak gerekir.

Bu benim koddur.

private int countEven(BSTNode root){

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

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


}

ben bu test için bir yol yok gibi bu ben sadece kodlanmış. Şu anda bunu test etmek mümkün değilim ama çok kötü bir cevap gerek. herhangi bir yardım derin takdir edilmektedir.

Oluştur 02/04/2010 saat 14:13
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
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;
}
Cevap 02/04/2010 saat 14:20
kaynak kullanıcı

oy
1

Hatta değerlerle subnodes içeren bir tek değere sahip bir düğüm varsa, alt düğümler kodunuzda sayılmayacaktır. Aşağıda Küçük geliştirme.

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


}
Cevap 02/04/2010 saat 14:21
kaynak kullanıcı

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