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.

Reply via email to