I think if range is till n2, max passes for radix sort will be 3.
by subtracting 1 to all the numbers we get the max range to n2-1 and radix
sort can be done in 2 passes.
but what will happen when if we have a '0' in array and then we subtract 1
to it?


On Tue, May 8, 2012 at 9:48 AM, atul anand <atul.87fri...@gmail.com> wrote:

> @arpit : why algo subtracts 1 from each number of the input?
>
> On Sun, May 6, 2012 at 12:02 AM, Arpit Gupta 
> <arpitgupta.211...@gmail.com>wrote:
>
>> 1) Substract 1 from each no.
>> 2) Now after substracting 1 from each no, convert it to base n.
>> for example for n=6,the number 36 will be converted to 55.   (36-1=35 and
>> 35 when converted to base 6 is 55)
>> 3) Thus all the nos in the range 1 to 6^2 can be mapped to numbers
>> between 00 to 55.
>> 4) Now apply radix sort(for two digits) for the mapped values.
>> 5)After sorting the mapped values convert base n values to decimal and
>> add 1.
>>
>> This is o(n) algo.
>> PS: I am not the designer of this algo. One of my seniors told me.
>>
>>
>> On Sat, May 5, 2012 at 2:42 PM, saurabh singh <saurab...@gmail.com>wrote:
>>
>>> 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.
>>>
>>
>>
>>
>> --
>> Arpit Gupta
>> B.Tech Third Year
>> Computer Science And Engineering
>> M.N.N.I.T Allahabad
>> arpitgupta.211...@gmail.com
>>
>>  --
>> 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