English
Related papers

Related papers: On the Worst-Case Complexity of TimSort

200 papers

The new dual-pivot Quicksort by Vladimir Yaroslavskiy - used in Oracle's Java runtime library since version 7 - features intriguing asymmetries. They make a basic variant of this algorithm use less comparisons than classic single-pivot…

Data Structures and Algorithms · Computer Science 2015-08-11 Sebastian Wild , Markus E. Nebel , Conrado Martínez

Given a multiset $X=\{x_1,..., x_n\}$ of real numbers, the {\it floating-point set summation} problem asks for $S_n=x_1+...+x_n$. Let $E^*_n$ denote the minimum worst-case error over all possible orderings of evaluating $S_n$. We prove that…

Data Structures and Algorithms · Computer Science 2024-09-21 Ming-Yang Kao , Jie Wang

Traditional Insertion Sort runs in O(n^2) time because each insertion takes O(n) time. When people run Insertion Sort in the physical world, they leave gaps between items to accelerate insertions. Gaps help in computers as well. This paper…

Data Structures and Algorithms · Computer Science 2007-05-23 Michael A. Bender , Martin Farach-Colton , Miguel Mosteiro

In 2009, Oracle replaced the long-serving sorting algorithm in its Java 7 runtime library by a new dual-pivot Quicksort variant due to Vladimir Yaroslavskiy. The decision was based on the strikingly good performance of Yaroslavskiy's…

Data Structures and Algorithms · Computer Science 2015-02-16 Sebastian Wild , Markus E. Nebel , Ralph Neininger

Dual-pivot quicksort refers to variants of classical quicksort where in the partitioning step two pivots are used to split the input into three segments. This can be done in different ways, giving rise to different algorithms. Recently, a…

Data Structures and Algorithms · Computer Science 2015-10-14 Martin Aumüller , Martin Dietzfelbinger

In this paper we present TSSort, a probabilistic, noise resistant, quickly converging comparison sort algorithm based on Microsoft TrueSkill. The algorithm combines TrueSkill's updating rules with a newly developed next item pair selection…

Data Structures and Algorithms · Computer Science 2016-06-17 Jörn Hees , Benjamin Adrian , Ralf Biedert , Thomas Roth-Berghofer , Andreas Dengel

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

We consider the fundamental problem of internally sorting a sequence of $n$ elements. In its best theoretical setting QuickMergesort, a combination Quicksort with Mergesort with a Median-of-$\sqrt{n}$ pivot selection, requires at most $n…

Data Structures and Algorithms · Computer Science 2018-04-27 Stefan Edelkamp , Armin Weiß

Partially ordered models of time occur naturally in applications where agents or processes cannot perfectly communicate with each other, and can be traced back to the seminal work of Lamport. In this paper we consider the problem of…

Computational Complexity · Computer Science 2023-05-26 Leif Eriksson , Victor Lagerkvist

The new dual-pivot Quicksort by Vladimir Yaroslavskiy - used in Oracle's Java runtime library since version 7 - features intriguing asymmetries in its behavior. They were shown to cause a basic variant of this algorithm to use less…

Data Structures and Algorithms · Computer Science 2014-06-16 Markus E. Nebel , Sebastian Wild

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

The linear pivot selection algorithm, known as median-of-medians, makes the worst case complexity of quicksort be $\mathrm{O}(n\ln n)$. Nevertheless, it has often been said that this algorithm is too expensive to use in quicksort. In this…

Data Structures and Algorithms · Computer Science 2016-08-18 Noriyuki Kurosawa

Multi-Pivot Quicksort refers to variants of classical quicksort where in the partitioning step $k$ pivots are used to split the input into $k + 1$ segments. For many years, multi-pivot quicksort was regarded as impractical, but in 2009 a…

Data Structures and Algorithms · Computer Science 2016-06-01 Martin Aumüller , Martin Dietzfelbinger , Pascal Klaue

The classical comparison-based sorting problem asks us to find the underlying total order of a given set of elements, where we can only access the elements via comparisons. In this paper, we study a restricted version, where, as a hint, a…

Data Structures and Algorithms · Computer Science 2025-07-21 Benjamin Aram Berendsohn

Formal verification of traditional algorithms are of great significance due to their wide application in state-of-the-art software. Timsort is a complicated and hybrid stable sorting algorithm, derived from merge sort and insertion sort.…

Software Engineering · Computer Science 2018-12-11 Yu Zhang , Yongwang Zhao , David Sanan

We revisit the well-known problem of sorting under partial information: sort a finite set given the outcomes of comparisons between some pairs of elements. The input is a partially ordered set P, and solving the problem amounts to…

Data Structures and Algorithms · Computer Science 2013-01-22 Jean Cardinal , Samuel Fiorini , Gwenaël Joret , Raphaël Jungers , J. Ian Munro

We study the impact of merging routines in merge-based sorting algorithms. More precisely, we focus on the galloping routine that TimSort uses to merge monotonic sub-arrays, hereafter called runs, and on the impact on the number of element…

Data Structures and Algorithms · Computer Science 2023-12-04 Elahe Ghasemi , Vincent Jugé , Ghazal Khalighinejad , Helia Yazdanyar

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

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

We consider Johnson's rule for minimizing the makespan in the two-machine flow shop problem. Although its worst-case time complexity is O(n log n), we show that it is possible to detect in linear time whether a full sorting of jobs can be…

Optimization and Control · Mathematics 2026-01-08 Federico Della Croce , Quentin Schau