@juver++: Oops. Right you are! A corrected solution is just a little more complicated. If the data is presented in an array as in the previous posting, a[]={1,2,3,4,5,6,7,8,9,10} corresponding to the triangle 1 2 3 4 5 6 7 8 9 10 then we let A(i,j) be the jth entry in the ith row, both 0-based, so that in this example, A(2,1) = 5. Then the array can be treated as an implicit DAG (directed acyclic graph) where the children of A(i,j) are A(i+1,j) and A(i+1,j+1). Using the correspondence that A(i,j) = a[i*(i +1)/2+j)], you can traverse the DAG the same way I described traversing the binary tree.
Dave On Nov 4, 3:19 pm, "juver++" <avpostni...@gmail.com> wrote: > You are wrong. It's not a binary tree. Cause multiple elements have > adjacent childs. > Right solution is to apply DP: > dp[i][j] - maximum sum that is ends into i-th row and j-th column. > Then make only 2 transitions to the (i+1)-th row. > Complexity is n^2. > > On Nov 4, 7:50 pm, Dave <dave_and_da...@juno.com> wrote: > > > > > @Piyush: Treat the data as an implicit binary tree, with the children > > of a[i] being a[2*i] and a[2i+1] if a[] is a 1-based array, or a[2*i > > +1] and a[2*i+2] if a[] is a 0-based array. Traverse the tree and > > accumulate the sum as you descend. When you reach the leaves, keep > > track of the maximum sum and its path. When the traversal is finished, > > you will have your answer. > > > Dave > > > On Nov 4, 4:47 am, Piyush <piyushra...@gmail.com> wrote: > > > > Given an array of integers. Imagine it as a pyramid as below: > > > a[]={1,2,3,4,5,6,7,8,9,10} > > > 1 > > > 2 3 > > > 4 5 6 > > > 7 8 9 10 > > > find a path from level 1 to last level such that the sum is maximum. > > > The path is such that its children should be reachable. > > > Eg: > > > 1,2,5,9 is a path > > > 1,2,6,10 is not a path since 6 is not reachable from 2. > > > The array is not sorted and numbers are random.- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@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.