English
Related papers

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

200 papers

We describe and analyze Zig-zag Sort--a deterministic data-oblivious sorting algorithm running in O(n log n) time that is arguably simpler than previously known algorithms with similar properties, which are based on the AKS sorting network.…

Data Structures and Algorithms · Computer Science 2014-05-19 Michael T. Goodrich

We study sorting algorithms based on randomized round-robin comparisons. Specifically, we study Spin-the-bottle sort, where comparisons are unrestricted, and Annealing sort, where comparisons are restricted to a distance bounded by a…

Data Structures and Algorithms · Computer Science 2015-03-17 Michael T. Goodrich

In this paper, we present Ray-shooting Quickhull, which is a simple, randomized, outputsensitive version of the Quickhull algorithm for constructing the convex hull of a set of n points in the plane. We show that the randomized Ray-shooting…

Computational Geometry · Computer Science 2024-10-01 Michael T. Goodrich , Ryuto Kitagawa

We present a simple, efficient, and secure data-oblivious randomized shuffle algorithm. This is the first secure data-oblivious shuffle that is not based on sorting. Our method can be used to improve previous oblivious storage solutions for…

Cryptography and Security · Computer Science 2014-02-25 Olga Ohrimenko , Michael T. Goodrich , Roberto Tamassia , Eli Upfal

In this paper we consider sorting in the cache-oblivious model of Frigo, Leiserson, Prokop, and Ramachandran (1999). We introduce a new simple sorting algorithm in that model which has asymptotically optimal IO complexity $O(\frac{n}{B}…

Data Structures and Algorithms · Computer Science 2024-07-23 Michal Koucký , Josef Matějka

We propose a conceptually simple oblivious sort and oblivious random permutation algorithms called bucket oblivious sort and bucket oblivious random permutation. Bucket oblivious sort uses $6n\log n$ time (measured by the number of memory…

Data Structures and Algorithms · Computer Science 2021-04-30 Gilad Asharov , T-H. Hubert Chan , Kartik Nayak , Rafael Pass , Ling Ren , Elaine Shi

We introduce the algorithm ExpoSort, a groundbreaking method that sorts an array of $n$ numbers in a spectacularly inefficient $\Theta(2^n)$ time. ExpoSort proudly claims the title of the first reluctant algorithm to decisively surpass the…

Data Structures and Algorithms · Computer Science 2024-09-05 Mikkel Abrahamsen

Shellsort is a sorting method that is attractive due to its simplicity, yet it takes effort to analyze its efficiency. The heart of the algorithm is the gap sequence chosen a priori and used during sorting. The selection of this gap…

Data Structures and Algorithms · Computer Science 2023-01-03 Oscar Skean , Richard Ehrenborg , Jerzy W. Jaromczyk

The sorting operation is one of the most commonly used building blocks in computer programming. In machine learning, it is often used for robust statistics. However, seen as a function, it is piecewise linear and as a result includes many…

Machine Learning · Statistics 2020-07-01 Mathieu Blondel , Olivier Teboul , Quentin Berthet , Josip Djolonga

The original Leapfrogging Samplesort operates on a sorted sample of size $s$ and an unsorted part of size $s+1$. We generalize this to a sorted sample of size $s$ and an unsorted part of size $(2^k-1)(s+1)$, where $k = O(1)$. We present a…

Data Structures and Algorithms · Computer Science 2018-01-30 Eliezer A. Albacea

Sorting is one of the most fundamental algorithms in computer science. Recently, Learned Sorts, which use machine learning to improve sorting speed, have attracted attention. While existing studies show that Learned Sort is empirically…

Data Structures and Algorithms · Computer Science 2025-11-11 Atsuki Sato , Yusuke Matsui

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…

Data Structures and Algorithms · Computer Science 2007-05-23 William F. Gilreath

Sorting algorithms have attracted a great deal of attention and study, as they have numerous applications to Mathematics, Computer Science and related fields. In this thesis, we first deal with the mathematical analysis of the Quicksort…

Data Structures and Algorithms · Computer Science 2015-10-05 Vasileios Iliopoulos

We present a sorting algorithm for the case of recurrent random comparison errors. The algorithm essentially achieves simultaneously good properties of previous algorithms for sorting $n$ distinct elements in this model. In particular, it…

Data Structures and Algorithms · Computer Science 2017-09-22 Barbara Geissmann , Stefano Leucci , Chih-Hung Liu , Paolo Penna

The present paper is concerned with a recursive algorithm as a preprocessing step to find the convex hull of $n$ random points uniformly distributed in the plane. For such a set of points, it is shown that eliminating all but $O(\log n)$ of…

Data Structures and Algorithms · Computer Science 2024-03-19 Mohammad Heydari , Ashkan Khalifeh

Mergesort is one of the few efficient sorting algorithms and, despite being the oldest one, often still the method of choice today. In contrast to some alternative algorithms, it always runs efficiently using O(n log n) element comparisons…

Data Structures and Algorithms · Computer Science 2025-09-30 Christian Siebert

We introduce and analyse a new, extremely simple, randomised sorting algorithm: - choose a pair of indices $\{i, j\}$ according to some distribution $q$; - sort the elements in positions $i$ and $j$ of the array in ascending order. Choosing…

Data Structures and Algorithms · Computer Science 2025-02-10 Sam Olesker-Taylor

Recently, many results on the computational complexity of sorting algorithms were obtained using Kolmogorov complexity (the incompressibility method). Especially, the usually hard average-case analysis is ammenable to this method. Here we…

Data Structures and Algorithms · Computer Science 2009-05-28 Paul M. B. Vitanyi

Shuffling is the process of rearranging a sequence of elements into a random order such that any permutation occurs with equal probability. It is an important building block in a plethora of techniques used in virtually all scientific…

Data Structures and Algorithms · Computer Science 2023-02-08 Manuel Penschuck

We present a deterministic sorting algorithm, SPMS (Sample, Partition, and Merge Sort), that interleaves the partitioning of a sample sort with merging. Sequentially, it sorts $n$ elements in $O(n \log n)$ time cache-obliviously with an…

Data Structures and Algorithms · Computer Science 2017-11-03 Richard Cole , Vijaya Ramachandran
‹ Prev 1 2 3 10 Next ›