Computer Science > Data Structures and Algorithms
[Submitted on 20 Jul 2019 (v1), last revised 24 Dec 2019 (this version, v3)]
Title:NN-sort: Neural Network based Data Distribution-aware Sorting
View PDFAbstract:Sorting is a fundamental operation in computing. However, the speed of state-of-the-art sorting algorithms on a single thread has reached their limits. Meanwhile, deep learning has demonstrated its potential to provide significant performance improvements in data mining and machine learning tasks. Therefore, it is interesting to explore whether sorting can also speed up by deep learning techniques. In this paper, a neural network-based data distribution aware sorting method named NN-sort is presented. Compared to traditional comparison-based sorting algorithms, which need to compare the data elements in pairwise, NN-sort leverages the neural network model to learn the data distribution and uses it to map disordered data elements into ordered ones. Although the complexity of NN-sort is $nlogn$ in theory, it can run in near-linear time as being observed in most of the cases. Experimental results on both synthetic and real-world datasets show that NN-sort yields performance improvement by up to 10.9x over traditional sorting algorithms.
Submission history
From: Xiao-ke Zhu [view email][v1] Sat, 20 Jul 2019 14:25:18 UTC (712 KB)
[v2] Sat, 19 Oct 2019 09:44:02 UTC (791 KB)
[v3] Tue, 24 Dec 2019 04:43:25 UTC (726 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.