Hi Others are also welcome to comment on the code. If links are allowed in algogeeks, I might send my wordpress blog link that explains this problem in detail and in picture.
BinaryTree* VerticalSum(BinaryTree *bt) { if(!bt) return; BinaryTree *left = bt->left; BinaryTree *right = bt->right; bt->VerticalSumValue += right(left)->value+left(right)->value; VerticalSum(left); VerticalSum(right); } BinaryTree* right(BinaryTree *left) { if(!left) return; sum+=right(left->right); return sum; } BinaryTree *left(BinaryTree *right) { if(!right) return; sum+=left(right->left); return sum; } Thanks Supraja J On Sun, Mar 18, 2012 at 5:50 AM, rahul sharma <rahul23111...@gmail.com>wrote: > plz some one explain...i hav read online but getting the code and same > explanaiton...need it urgent...thnx in advance > > > On Sun, Mar 18, 2012 at 12:38 AM, rahul sharma <rahul23111...@gmail.com>wrote: > >> @anna..plz elaborate more... >> >> >> On Sun, Mar 18, 2012 at 12:26 AM, Supraja Jayakumar < >> suprajasank...@gmail.com> wrote: >> >>> Hi >>> >>> I think its the sum of all the right children of the left subtree and >>> left children of the right subtree. (Note: this does NOT apply recursively) >>> >>> Thanks >>> >>> >>> On Sat, Mar 17, 2012 at 9:31 AM, rahul sharma >>> <rahul23111...@gmail.com>wrote: >>> >>>> plz explain...i m nt able to get the concept. >>>> >>>> >>>> On Sat, Mar 17, 2012 at 8:50 PM, rahul sharma >>>> <rahul23111...@gmail.com>wrote: >>>> >>>>> how come 2,3,7 in vertical sum? >>>>> >>>>> >>>>> On Sat, Mar 17, 2012 at 3:48 PM, prashant thorat < >>>>> prashantnit...@gmail.com> wrote: >>>>> >>>>>> First , Do recursive traverse from root node and assign vertical >>>>>> level for each node. like this, >>>>>> for root node level = 0 , root->left level = -1 , root->left->right = >>>>>> 0 , root->left->left = -2, like this >>>>>> >>>>>> >>>>>> so below tree becomes, >>>>>> >>>>>> 1(0) >>>>>> / \ >>>>>> 2(-1) 3(1) >>>>>> / \ / \ >>>>>> 4(-2) 5(0) 6(1) 7(2) >>>>>> >>>>>> >>>>>> >>>>>> After this again, take an array to store sum initialize to 0, and >>>>>> traverse tree again , while traversing store the value of that node in >>>>>> it's >>>>>> level. >>>>>> >>>>>> This way u'll be able to calculate vertical sum. >>>>>> >>>>>> >>>>>> Thanks >>>>>> >>>>>> On Sat, Mar 17, 2012 at 3:29 PM, rahul sharma < >>>>>> rahul23111...@gmail.com> wrote: >>>>>> >>>>>>> >>>>>>> what is vertical sum in binayr tree...i dnt need the algo for >>>>>>> this..just need the concept...that what is vertical sum??? >>>>>>> >>>>>>> Given a Binary Tree, find vertical sum of the nodes that are in same >>>>>>> vertical line. Print all sums through different vertical lines. >>>>>>> >>>>>>> Examples: >>>>>>> >>>>>>> 1 >>>>>>> / \ >>>>>>> 2 3 >>>>>>> / \ / \ >>>>>>> 4 5 6 7 >>>>>>> >>>>>>> The tree has 5 vertical lines >>>>>>> >>>>>>> Vertical-Line-1 has only one node 4 => vertical sum is 4 >>>>>>> Vertical-Line-2: has only one node 2=> vertical sum is 2 >>>>>>> Vertical-Line-3: has three nodes: 1,5,6 => vertical sum is 1+5+6 = 12 >>>>>>> Vertical-Line-4: has only one node 3 => vertical sum is 3 >>>>>>> Vertical-Line-5: has only one node 7 => vertical sum is 7 >>>>>>> >>>>>>> So expected output is 4, 2, 12, 3 and 7 >>>>>>> >>>>>>> -- >>>>>>> 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. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Yours affectionately, >>>>>> Prashant Thorat >>>>>> >>>>>> >>>>>> -- >>>>>> 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. >>>> >>> >>> >>> >>> -- >>> U >>> >>> -- >>> 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. > -- U -- 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.