initialize array with 0 and provide appropriate value to c otherwise
it will be negative and
here c is using as index for array.
procedure visit(node root,int s[],int c) {
if (root= null)
return 0;
S[c] += n.value;
visit(root-left, c - 1)
visit(root-right, c + 1)
}
On Fri, Oct 21, 2011 at 8:27 PM, ashish shukla
ashishshukla0...@gmail.comwrote:
procedure visit(node root,int c) {
if (root= null)
return 0;
S[c] += n.value;
visit(root-left, c - 1)
visit(root-right, c + 1)
}
On Fri, Oct 21, 2011 at 1:22 PM, Mohak Naik mohak...@gmail.com wrote:
If we want to compute the sum of every column, we can use the following
algorithm
and call once visit(A, 0), where A is the root node. Note that S{...} in
the algorithm is a map whose keys are the columns numbers (..., -2, -1, 0,
1, 2, ...) and whose values (at the end of the algorithm) are the sums of
the values of nodes in that column (S{1} will be the sum of nodes in
column 1). We can also use an array, instead of a map, provided that we pay
attention to the indexes (arrays have no negative indexes). The algorithm is
still O(n), because we traverse the entire tree only once. However, in this
case we need additional space to store the sum for all columns (the map, or
the array).
stackoverflow solution.
--
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.