i extend anurag's idea, instead of using an extra array,use map with keys (k-ai , ai). while traversing through a, check if element found in map. if found print pairs else add entry in map. surender 2011/7/12 ●αηυяαg ∩ ℓιƒє ≈ Φ <[email protected]>
> In order traversal results in a sorted list of elements of BST say > [a,b,c,d,e]. make another array containing [k-a,k-b,k-c,k-d,k-e].Reverse > yeilds [k-e,k-d,k-c,k-b,k-a]. Now apply the standard merge function (Merge > sort). on [a,b,c,d,e] & [k-e,k-d,k-c,k-b,k-a]. Finally adjacent equal > entries represent a valid pair. U can see that each valid pair will be > repeated twice (select only one). In case in the BST there is an entry k/2 > then you must find its duplicate by a linear time search to find its > correctness. > > :) > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/algogeeks/-/C1MPFDKg1P8J. > > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
