In-place associative permutation sort (1210.1771v1)
Abstract: In-place associative integer sorting technique was developed, improved and specialized for distinct integers. The technique is suitable for integer sorting. Hence, given a list S of n integers S[0...n-1], the technique sorts the integers in ascending or descending order. It replaces bucket sort, distribution counting sort and address calculation sort family of algorithms and requires only constant amount of additional memory for storing counters and indices beside the input list. The technique was inspired from one of the ordinal theories of "serial order in behavior" and explained by the analogy with the three main stages in the formation and retrieval of memory in cognitive neuroscience: (i) practicing, (ii) storing and (iii) retrieval. In this study in-place associative permutation technique is introduced for integer key sorting problem. Given a list S of n elements S[0...n-1] each have an integer key in the range [0,m-1], the technique sorts the elements according to their integer keys in O(n) time using only O(1) amount of memory if m<=n. On the other hand, if m>n, it sorts in O(n+m) time for the worst, O(m) time for the average (uniformly distributed keys) and O(n) time for the best case using O(1) extra space.