@Arun...

You are not getting it wrong but then you have just generated one
binary tree..

What about the other bin-trees...?
The bin-tree that you are generating is for the first recursive
iteration..

Let me give you a quick explanation...

"GenerateBT" has the following loop..
for (int i =startIndex ; i <=endIndex; ++i)
{
}
Now, the bin-tree that you are generating is for i = startIndex + 1,
and also when you recursively go inside you are basically tracing it
for 'i = startIndex + 1'..

Try doing it for i = startIndex + 3 (say)..
and also ensure that when you go inside recursively try to trace the
case where 'i > startIndex + 1'

and see if you get it..

On Jan 23, 5:11 am, Arun Vishwanathan <[email protected]> wrote:
> @lucifer: sorry if i seem to be missing the ppoint...can u just clarify
> what I am getting wrong here..
>
> if array is a[0] a[1] a[2] a[3] a[4] say, i understand yr recursion goes as
> follows:
> the first node data is a[0], its left pointer is null ( since call is made
> with startindex=1 and lastindex =0 and so null is returned ) and its right
> pointer points to node whose data is a[1], whose left pointer is null
> (since call made with startindeex =2 and lastindex =1 )and whose right
> pointer points to node whose data is a[2] whose left pointer is null and
> right points to node whose data is a[3] and so on..
> am sorry if it sounds silly...can u clarify if am seeing it wrong??
>
>
>
>
>
>
>
>
>
> On Sun, Jan 22, 2012 at 3:31 PM, Lucifer <[email protected]> wrote:
> > @Arun..
>
> > Are you referring to the following condition in 'GenerateBT':
> > /*
> >  if ( startIndex > endIndex) return NULL;
> > */
>
> > If so, then answer is no. The above condition basically identifies
> > that we have reached a leaf node and hence, the leaf node should have
> > both its left and right pointers set to NULL.
>
> > If you trace it. you will figure it out.
> > In case there is a doubt do let me know..
>
> > On Jan 23, 4:17 am, Arun Vishwanathan <[email protected]> wrote:
> > > @lucifer: in yr code will not all the root->left be NULL for each
> > iteration
> > > as
> > > startindex is always greater than endindex ( i.e i-1) in the recursive
> > > function call??and so for each node only root->right is made?
>
> > > On Fri, Dec 30, 2011 at 12:51 AM, praveen raj <[email protected]>
> > wrote:
> > > > yes... right...
> > > > i forget to remove this statement......
>
> > > > PRAVEEN RAJ
> > > > DELHI COLLEGE OF ENGINEERING
>
> > > > On Fri, Dec 30, 2011 at 2:17 PM, Lucifer <[email protected]>
> > wrote:
>
> > > >> @praveen
>
> > > >> I think what u are doing above is the following:
> > > >> Say, F(n) denotes the no. of binary trees that can be formed using N
> > > >> elements given the inorder sequence..
>
> > > >> F(n) = SumOver(i= 1 to N) { F(i-1) * F(N-i) }
>
> > > >> which is nothing but..
> > > >> F(N) = (2n C n)/ (n+1) i.e. catalan's no.
>
> > > >> Also, i would like to mention that in ur code probably u need to
> > > >> remove the following condition otherwise u result outcome will always
> > > >> be zero..
>
> > > >> *
> > > >> if(N==0) return 0;
>
> > > >> On 30 Dec, 13:41, praveen raj <[email protected]> wrote:
> > > >> > int countBT(int N)
> > > >> > {
> > > >> >   int count =0;
> > > >> >   int count1;
> > > >> >   if(N==0)
> > > >> >      return 0;
> > > >> >    if(N<=1)
> > > >> >      return 1;
> > > >> >      else
> > > >> >    {
> > > >> >        for(int j=1;j<=N;j++)
> > > >> >        {
> > > >> >           count1 = countBT(j-1)
> > > >> >           count2 =countBT(N-j);
> > > >> >           count+=(count1*count2);
> > > >> >         }
> > > >> >           return (count);
> > > >> >     }
>
> > > >> > }
>
> > > >> > PRAVEEN RAJ
> > > >> > DELHI COLLEGE OF ENGINEERING
>
> > > >> --
> > > >> You received this message because you are subscribed to the Google
> > Groups
> > > >> "Algorithm Geeks" group.
> > > >> To post to this group, send email to [email protected].
> > > >> To unsubscribe from this group, send email to
> > > >> [email protected].
> > > >> For more options, visit this group at
> > > >>http://groups.google.com/group/algogeeks?hl=en.
>
> > > >  --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Algorithm Geeks" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected].
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/algogeeks?hl=en.
>
> > > --
> > >  "People often say that motivation doesn't last. Well, neither does
> > bathing
> > > - that's why we recommend it daily."
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.
>
> --
>  "People often say that motivation doesn't last. Well, neither does bathing
> - that's why we recommend it daily."

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to