@Viharri: A solution seems to require an O(n) sorting algorithm, and since 
sorting by comparison is O(n log n), the algorithm must use one of the 
other types of O(n) sorting algorithms. Since the data are not integers in 
a bounded range, I suggest using a radix sort, carrying along an array of 
indices. I.e., form an array of indices {0, 1, 2, ..., n-1} and perform the 
same data movements on it as on the original data. When the original data 
are sorted, then the array of indices will be the desired result.
 
Dave

On Wednesday, April 18, 2012 8:07:33 AM UTC-5, VIHARRI wrote:

> Can anybody give an O(n) algorithm for the following problem.
>
> Suppose if we have an array, I would like to construct an array with the 
> elements which specify their corresponding position in the sorted array.
>
> For example if the array is { 0.87, 0.04, 0.95, 0.12, 0.36 } then the 
> sorted array would be { 0.04, 0.12, 0.36, 0.87, 0.95 }.
> Then output array would be {3, 0, 4, 1, 2 }.
>
> Hope I'm clear...
>

-- 
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/-/evd8iLvP2CUJ.
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.

Reply via email to