जावा: एक द्विआधारी खोज वृक्ष में रिकर्सिवली गणना भी मान

वोट
-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

अगर वहाँ एक अजीब मूल्य भी मूल्यों के साथ subnodes युक्त के साथ एक नोड है, subnodes अपने कोड में नहीं गिना जाएगा। नीचे छोटे वृद्धि।

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