@Arun : yup ...rite... so i guess this will work..once pointer has been updated for parent node. there is no need of other point from children[i+1] to n. so adding one more loop at the end.
for(i=0;i<n;i++) { pre=reverse(root->children[i],NULL); if(pre) { pre->children[0]=root; } } for(i=1;i<n;i++) root->children[i] = NULL; On Thu, Dec 22, 2011 at 1:45 PM, Arun Vishwanathan <aaron.nar...@gmail.com>wrote: > @atul: can you explain what this is doing? > for(i=0;i<n;i++) > { > > pre=reverse(root->children[i],NULL); > > if(pre) > { > pre->children[i]=root; > } > } > > when u do tree reversal I see that child points to parent( basically > direction reversed). Now if > 1 > / | \ > 2 3 4 > / / \ > 5 6 7 > / \ > 8 9 > > in the last iteration along leftmost path , pointer to 8 is returned(pre) > whose child is then assigned as 5 using pre->children[0]=root > if 5 had another child say 'x' then after x is returned from thr recursive > call, u wud assign pre->children[1]=root where root is pointer to 5 > here..but 8 and x have only one child which is 5 and indexes used for each > are 0 and 1 instead of just 0..am i understanding it wrongly? > > > On Wed, Dec 21, 2011 at 8:37 PM, atul anand <atul.87fri...@gmail.com>wrote: > >> adding one more check :- this one is updated >> >> >> node *Reverse(node *root,node *pre) >> { >> flag=0; >> >> for i=0 to n >> if (root->children[i]!=NULL) >> { >> flag=1; >> break; >> } >> end for >> >> if( ! flag) >> { >> add root to the list; >> return root; >> } >> >> for(i=0;i<n;i++) >> { >> if(root->children[i]!=NULL) >> { >> pre=reverse(root->children[i],NULL); >> >> if(pre) >> { >> pre->children[i]=root; >> } >> } >> } >> >> return root; >> >> } >> >> >> On Thu, Dec 22, 2011 at 9:35 AM, atul anand <atul.87fri...@gmail.com>wrote: >> >>> adding break to first loop...just to avoid unnecessary iterations. >>> if (root->children[i]!=NULL) >>> { >>> flag=1; >>> break; >>> >>> } >>> end for >>> >>> >>> On Wed, Dec 21, 2011 at 10:59 PM, atul anand <atul.87fri...@gmail.com>wrote: >>> >>>> @shashank: >>>> >>>> yeah here is the algo , please me know if you find any bug:- >>>> >>>> >>>> node *Reverse(node *root,node *pre) >>>> { >>>> flag=0; >>>> >>>> for i=0 to n >>>> if (root->children[i]!=NULL) >>>> { >>>> flag=1; >>>> } >>>> end for >>>> >>>> if( ! flag) >>>> { >>>> add root to the list; >>>> return root; >>>> } >>>> >>>> for(i=0;i<n;i++) >>>> { >>>> >>>> pre=reverse(root->children[i],NULL); >>>> >>>> if(pre) >>>> { >>>> pre->children[i]=root; >>>> } >>>> } >>>> >>>> return root; >>>> >>>> } >>>> >>>> >>>> >>>> >>>> On Wed, Dec 21, 2011 at 1:08 PM, WgpShashank < >>>> shashank7andr...@gmail.com> wrote: >>>> >>>>> @atul,, yeah , but can you write some proper psuedo code/ Algorithm >>>>> then we can discus more about test cases. >>>>> >>>>> Thanks >>>>> Shashank >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Algorithm Geeks" group. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msg/algogeeks/-/VPZpHM8D_WcJ. >>>>> >>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> algogeeks+unsubscr...@googlegroups.com. >>>>> 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 algogeeks@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com. >> 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 algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > 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 algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.