@Arun.. I think you are generating the bin-tree for ' i =startIndex' and not ' i =startIndex +1'..
Hence, if you just trace it for ' i =startIndex + 1' for all the recursive calls, you should get it... On Jan 23, 5:22 am, Lucifer <[email protected]> wrote: > @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.
