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