I think I couldn't make myself clear...
This line in your algorithm "*After this just iterate through the aux array
printing the index aux[i] times.*"
this makes your algorithm O(n^2) since the size of aux is n^2 and in the
worst case the complete traversal of aux may be required.

Saurabh Singh
B.Tech (Computer Science)
MNNIT
blog:geekinessthecoolway.blogspot.com



On Sat, May 5, 2012 at 2:37 PM, Jeevitesh <jeeviteshshekha...@gmail.com>wrote:

> Hi Shiva.
>
> You are right we will be wasting a lot of memory.
> But still it depends like if we have lot of numbers in the range of 1, n^2
> present in the input array then this trade off is not bad.
> The issue here is we cannot otherwise sort it in O(n) time unless and
> until we have extra space.
>
> So we will have to live with it in this case as i do not think it would be
> possible in O(n) time otherwise.
>
>
> On Sat, May 5, 2012 at 2:33 PM, shiv narayan <narayan.shiv...@gmail.com>wrote:
>
>> @jeevitesh yeah that may be right but it requires extra space as lot
>> of space will be wasted...
>>
>> On May 5, 1:44 pm, Jeevitesh <jeeviteshshekha...@gmail.com> wrote:
>> > Hi all,
>> >
>> > I am new to this group.
>> >
>> > My last post was deleted i do not know the reason behind it.
>> >
>> > I will explain my logic here:-
>> >
>> > as the range is 1 to n^2 we have a input array like input[n^2].
>> > We can take a auxillary array of size n^2 like aux[n^2].
>> > Scan the input array.
>> > For each input input[i] increment by one corresponding aux[input[i]].
>> > After this just iterate through the aux array printing the index aux[i]
>> > times.
>> >
>> > This way we can sort it in O(n) time.
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Sat, May 5, 2012 at 2:02 PM, saurabh singh <saurab...@gmail.com>
>> wrote:
>> > > After giving some thought,I think even radix sort may not be
>> sufficient.
>> > > Complexity of radix sort is O(k*n) where k is the number of buckets
>> > > required to sort the given range.
>> > > The number of buckets is proportional to the number of bits required
>> to
>> > > represent the *maximum number in the given range.*For our case the
>> > > maximum number is O(n^2).Hence *the number of buckets required would
>> be
>> > > proportional to log(n^2) in the worst case.*
>> > > Hence the worst case complexity for the given constraints using radix
>> sort
>> > > would be *O(n*(log n^2)) = O(n*logn).*
>> > > This is no better than comparision sort.A slight optimization that we
>> can
>> > > make is to use a higher base which would reduce the number of buckets
>> > > required but would add the cost of converting each number into  the
>> higher
>> > > base.
>> > > Somehow I am getting convinced worst case O(n) algorithm may not be
>> > > possible.Working on the mathematical proof.
>> >
>> > > Saurabh Singh
>> > > B.Tech (Computer Science)
>> > > MNNIT
>> > > blog:geekinessthecoolway.blogspot.com
>> >
>> > > On Sat, May 5, 2012 at 8:37 AM, saurabh singh <saurab...@gmail.com>
>> wrote:
>> >
>> > >> @cegprakash They are n numbers lying in the range 1 to n^2.Not
>> > >> necessarily sorted.
>> > >> eg 3 4 1 2 5 8 (6 numbers satisfying the conditions given in the
>> problem)
>> > >> Saurabh Singh
>> > >> B.Tech (Computer Science)
>> > >> MNNIT
>> > >> blog:geekinessthecoolway.blogspot.com
>> >
>> > >> On Sat, May 5, 2012 at 5:17 AM, Prakash D <cegprak...@gmail.com>
>> wrote:
>> >
>> > >>> The range 1 to n^2 is already sorted
>> >
>> > >>> On Sat, May 5, 2012 at 12:17 AM, Algobiz <
>> deepak.arulkan...@gmail.com>
>> > >>> wrote:
>> > >>> > How to sort n numbers in the range of 1 to n^2 in O(n).. Any
>> ideas?
>> >
>> > >>> > --
>> > >>> > 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/-/PGgMdaIbGIsJ.
>> > >>> > 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.
>> >
>> > >  --
>> > > 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.
>> >
>> > --
>> > *Thanks,
>> > Jeevitesh Shekhar Singh.*
>>
>> --
>> 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.
>

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