Read the problem for constraints....
Saurabh Singh
B.Tech (Computer Science)
MNNIT
blog:geekinessthecoolway.blogspot.com



On Tue, May 8, 2012 at 11:12 AM, Mahesh Thakur <tmahesh...@gmail.com> wrote:

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

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