Hash sort: A linear time complexity multiple-dimensional sort algorithm
<|reference_start|>Hash sort: A linear time complexity multiple-dimensional sort algorithm: Sorting and hashing are two completely different concepts in computer science, and appear mutually exclusive to one another. Hashing is a search method using the data as a key to map to the location within memory, and is used for rapid storage and retrieval. Sorting is a process of organizing data from a random permutation into an ordered arrangement, and is a common activity performed frequently in a variety of applications.   Almost all conventional sorting algorithms work by comparison, and in doing so have a linearithmic greatest lower bound on the algorithmic time complexity. Any improvement in the theoretical time complexity of a sorting algorithm can result in overall larger gains in implementation performance.. A gain in algorithmic performance leads to much larger gains in speed for the application that uses the sort algorithm. Such a sort algorithm needs to use an alternative method for ordering the data than comparison, to exceed the linearithmic time complexity boundary on algorithmic performance.   The hash sort is a general purpose non-comparison based sorting algorithm by hashing, which has some interesting features not found in conventional sorting algorithms. The hash sort asymptotically outperforms the fastest traditional sorting algorithm, the quick sort. The hash sort algorithm has a linear time complexity factor -- even in the worst case. The hash sort opens an area for further work and investigation into alternative means of sorting.<|reference_end|>
@article{gilreath2004hash,
    title={Hash sort: A linear time complexity multiple-dimensional sort algorithm},
    author={William F. Gilreath},
    journal={Proceedings of First Southern Symposium on Computing December 1998},
    year={2004},
    archivePrefix={arXiv},
    eprint={cs/0408040},
    primaryClass={cs.DS}
}