English
Related papers

Related papers: Randomized Shellsort: A Simple Oblivious Sorting A…

200 papers

Frequently, randomly organized data is needed to avoid an anomalous operation of other algorithms and computational processes. An analogy is that a deck of cards is ordered within the pack, but before a game of poker or solitaire the deck…

Data Structures and Algorithms · Computer Science 2008-11-24 William F. Gilreath

One of the greatest algorithms of all time is Quicksort. Its average running time is famously O(nlog(n)), and its variance, less famously, is O(n^2) (hence its standard deviation is O(n)). But what about higher moments? Here we find…

Probability · Mathematics 2019-03-12 Shalosh B. Ekhad , Doron Zeilberger

We present data-oblivious algorithms in the external-memory model for compaction, selection, and sorting. Motivation for such problems comes from clients who use outsourced data storage services and wish to mask their data access patterns.…

Data Structures and Algorithms · Computer Science 2011-03-29 Michael T. Goodrich

Clustering is a fundamental problem in unsupervised machine learning with many applications in data analysis. Popular clustering algorithms such as Lloyd's algorithm and $k$-means++ can take $\Omega(ndk)$ time when clustering $n$ points in…

Machine Learning · Computer Science 2023-10-26 Moses Charikar , Monika Henzinger , Lunjia Hu , Maxmilian Vötsch , Erik Waingarten

Since the work of Kaligosi and Sanders (2006), it is well-known that Quicksort -- which is commonly considered as one of the fastest in-place sorting algorithms -- suffers in an essential way from branch mispredictions. We present a novel…

Data Structures and Algorithms · Computer Science 2016-06-27 Stefan Edelkamp , Armin Weiß

We propose an $O(N\cdot M)$ sorting algorithm by Machine Learning method, which shows a huge potential sorting big data. This sorting algorithm can be applied to parallel sorting and is suitable for GPU or TPU acceleration. Furthermore, we…

Machine Learning · Computer Science 2018-08-16 Hanqing Zhao , Yuehan Luo

We consider the problem of sorting $n$ items, given the outcomes of $m$ pre-existing comparisons. We present a simple and natural deterministic algorithm that runs in $O(m + \log T)$ time and does $O(\log T)$ comparisons, where $T$ is the…

Data Structures and Algorithms · Computer Science 2026-05-06 Bernhard Haeupler , Richard Hladík , John Iacono , Vaclav Rozhon , Robert Tarjan , Jakub Tětek

Given a signed permutation on $n$ elements, we need to sort it with the fewest reversals. This is a fundamental algorithmic problem motivated by applications in comparative genomics, as it allows to accurately model rearrangements in small…

Data Structures and Algorithms · Computer Science 2023-08-31 Bartłomiej Dudek , Paweł Gawrychowski , Tatiana Starikovskaya

We consider the problem of sorting $n$ elements subject to persistent random comparison errors. In this problem, each comparison between two elements can be wrong with some fixed (small) probability $p$, and comparing the same pair of…

Data Structures and Algorithms · Computer Science 2025-08-28 Barbara Geissmann , Stefano Leucci , Chih-Hung Liu , Paolo Penna

In our previous work there was some indication that Partition Sort could be having a more robust average case O(nlogn) complexity than the popular Quick Sort. In our first study in this paper, we reconfirm this through computer experiments…

Data Structures and Algorithms · Computer Science 2012-03-28 Niraj Kumar Singh , Mita Pal , Soubhik Chakraborty

This article proposes an artificial data generating algorithm that is simple and easy to customize. The fundamental concept is to perform random permutation of Monte Carlo generated random numbers which conform to the unconditional…

Computational Finance · Quantitative Finance 2021-02-17 A. Christian Silva , Fernando F. Ferreira

TimSort is an intriguing sorting algorithm designed in 2002 for Python, whose worst-case complexity was announced, but not proved until our recent preprint. In fact, there are two slightly different versions of TimSort that are currently…

Data Structures and Algorithms · Computer Science 2019-07-09 Nicolas Auger , Vincent Jugé , Cyril Nicaud , Carine Pivoteau

Semisort is a fundamental algorithmic primitive widely used in the design and analysis of efficient parallel algorithms. It takes input as an array of records and a function extracting a \emph{key} per record, and reorders them so that…

Data Structures and Algorithms · Computer Science 2023-04-21 Xiaojun Dong , Yunshu Wu , Zhongqi Wang , Laxman Dhulipala , Yan Gu , Yihan Sun

Smart Sort algorithm is a "smart" fusion of heap construction procedures (of Heap sort algorithm) into the conventional "Partition" function (of Quick sort algorithm) resulting in a robust version of Quick sort algorithm. We have also…

Data Structures and Algorithms · Computer Science 2012-04-24 Niraj Kumar Singh , Soubhik Chakraborty

We consider synchronous distributed systems in which anonymous processors communicate by shared read-write variables. The goal is to have all the processors assign unique names to themselves. We consider the instances of this problem…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-09-02 Bogdan S. Chlebus , Gianluca De Marco , Muhammed Talo

A simple method to produce a random order type is to take the order type of a random point set. We conjecture that many probability distributions on order types defined in this way are heavily concentrated and therefore sample inefficiently…

Computational Geometry · Computer Science 2020-06-05 Olivier Devillers , Philippe Duchon , Marc Glisse , Xavier Goaoc

Algorithms which sort lists of real numbers into ascending order have been studied for decades. They are typically based on a series of pairwise comparisons and run entirely on chip. However people routinely sort lists which depend on…

Artificial Intelligence · Computer Science 2016-12-28 Samuel L Smith

The computation of a peeling order in a randomly generated hypergraph is the most time-consuming step in a number of constructions, such as perfect hashing schemes, random $r$-SAT solvers, error-correcting codes, and approximate set…

Data Structures and Algorithms · Computer Science 2013-12-03 Djamal Belazzougui , Paolo Boldi , Giuseppe Ottaviano , Rossano Venturini , Sebastiano Vigna

Smoothed analysis is a framework for analyzing the complexity of an algorithm, acting as a bridge between average and worst-case behaviour. For example, Quicksort and the Simplex algorithm are widely used in practical applications, despite…

Machine Learning · Computer Science 2015-03-29 Bichen Shi , Michel Schellekens , Georgiana Ifrim

Motivated by the development of computer theory, the sorting algorithm is emerging in an endless stream. Inspired by decrease and conquer method, we propose a brand new sorting algorithmUltimately Heapsort. The algorithm consists of two…

Data Structures and Algorithms · Computer Science 2019-02-04 Feiyang Chen , Nan Chen , Hanyang Mao , Hanlin Hu