A[1,n,1,n] will give us the solution.

On Mon, Nov 28, 2011 at 7:47 PM, Nitin Garg <nitin.garg.i...@gmail.com>wrote:

> Lets say the in-order traversal is O =  O1,O2,...On
> Pre-order is P = P1,P2,...Pn
>
> Lets assume that the in-order traversal gives sorted sequence of numbers.
> (if not, we can replace Pi by i in our algorithm and replace it to original
> later on)
>
> Observe P1 will be the root.
> If left subtree is not empty, then P2 is the root of left subtree.
> Otherwise it is the root of right subtree.
> If left subtree is non empty, how can we find what is the root of right
> subtree?
>
> A[i,j] - returns pointer to root of the tree containing elements from Pi
> to Pj in order as we want them in our resultant tree.
>
> Algorithm - A[i,j,r1,r2]
>
> IF i==j return Pi
> ELSE
> 1. make Pi the root.
> 2. Binary search in P[i+1,j] to find out the last element Pk which is on
> left side of Pi in O[r1,r2] where Or = Pi.
> 3.a.  if(!k) S1 = empty S2 = A[2,n,r1,r1,r-1]
> 3.b . else S1 = A[2,k], S2 = A[k+1,n,r+1,r2]
> 4. make S1 left child of P1 and S2 the right child of P1.
>
>
>
> Rec for running time
> T(n) = 2*T(n/2) + O(logn)
>
> It is linear.
>
>
>
> On Sun, Nov 27, 2011 at 8:26 PM, bharath sriram 
> <bharath.sri...@gmail.com>wrote:
>
>> The in-order and pre-order traversal are already given. So, there is no
>> way to do what you are saying if I understand you completely.
>>
>>
>> On Sun, Nov 27, 2011 at 8:19 AM, Ankuj Gupta <ankuj2...@gmail.com> wrote:
>>
>>> Hint : try with prestoring the preorder traversal element position in
>>> inorder traversal before constructing the tree
>>>
>>> --
>>> 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.
>>
>
>
>
> --
> Nitin Garg
>
> "Personality can open doors, but only Character can keep them open"
>



-- 
Nitin Garg

"Personality can open doors, but only Character can keep them open"

-- 
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