top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

Facebook Login
Site Registration

How many number of binary tree possible for N number of nodes?

+4 votes

Is there any formula.

posted Oct 21, 2013 by Vikas Upadhyay

Share this question
Facebook Share Button Twitter Share Button Google+ Share Button LinkedIn Share Button Multiple Social Share Button
Do we need to consider the node value.

1 Answer

+2 votes

It will be 2n!/(n+1)!n!

See the following code

int countTrees(int numKeys) {

  if (numKeys <=1) {
  else {
    // there will be one value at the root, with whatever remains on the left and right each forming their own subtrees.
    // Iterate through all the values that could be the root...
    int sum = 0;
    int left, right, root;

    for (root=1; root<=numKeys; root++) {
      left = countTrees(root - 1);
      right = countTrees(numKeys - root);

      // number of possible trees with this root == left*right
      sum += left*right;

answer Oct 22, 2013 by Bob Wise
Contact Us
+91 9880187415
#280, 3rd floor, 5th Main
6th Sector, HSR Layout
Karnataka INDIA.