English
Related papers

Related papers: On the Worst-Case Complexity of TimSort

200 papers

Permutation patterns and pattern avoidance have been intensively studied in combinatorics and computer science, going back at least to the seminal work of Knuth on stack-sorting (1968). Perhaps the most natural algorithmic question in this…

Data Structures and Algorithms · Computer Science 2019-04-17 László Kozma

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 has a natural generalization where the input consists of: (1) a ground set $X$ of size $n$, (2) a partial oracle $O_P$ specifying some fixed partial order $P$ on $X$ and (3) a linear oracle $O_L$ specifying a linear order $L$ that…

Data Structures and Algorithms · Computer Science 2024-08-01 Ivor van der Hoog , Daniel Rutschmann

Sorting is the task of ordering $n$ elements using pairwise comparisons. It is well known that $m=\Theta(n\log n)$ comparisons are both necessary and sufficient when the outcomes of the comparisons are observed with no noise. In this paper,…

Information Theory · Computer Science 2024-07-09 Ziao Wang , Nadim Ghaddar , Banghua Zhu , Lele Wang

We present an $O(n\sqrt{\log n})$ time and linear space algorithm for sorting real numbers. This breaks the long time illusion that real numbers have to be sorted by comparison sorting and take $\Omega (n\log n)$ time to be sorted.

Data Structures and Algorithms · Computer Science 2018-12-04 Yijie Han

We consider the assortment optimization problem with disjoint-cardinality constraints under two-level nested logit model. To solve this problem, we first identify a candidate set with $O(mn^2)$ assortments and show that at least one optimal…

Optimization and Control · Mathematics 2016-03-31 Tian Xie

We explore the fundamental problem of sorting through the lens of learning-augmented algorithms, where algorithms can leverage possibly erroneous predictions to improve their efficiency. We consider two different settings: In the first…

Data Structures and Algorithms · Computer Science 2023-11-03 Xingjian Bai , Christian Coester

Motivated by settings such as medical treatments or aircraft maintenance, we consider a scheduling problem with jobs that consist of two operations, a test and a processing part. The time required to execute the test is known in advance…

Data Structures and Algorithms · Computer Science 2024-06-25 Konstantinos Dogeas , Thomas Erlebach , Ya-Chun Liang

A rigorous proof is presented that the number of comparisons of keys performed in the worst case by ${\tt Heapsort}$ on any array of size $N \geq 2$ is equal to: $ 2 (N-1)\, ( \, \lg \frac{N-1}{2} +\varepsilon \, ) - 2s_2(N) - e_2(N) + \min…

Data Structures and Algorithms · Computer Science 2017-03-07 Marek A. Suchenek

Various decision support systems are available that implement Data Mining and Data Warehousing techniques for diving into the sea of data for getting useful patterns of knowledge (pearls). Classification, regression, clustering, and many…

Cryptography and Security · Computer Science 2024-03-01 Mohammad Khalid Imam Rahmani

Sorting is a foundational problem in computer science that is typically employed on sequences or total orders. More recently, a more general form of sorting on partially ordered sets (or posets), where some pairs of elements are…

Data Structures and Algorithms · Computer Science 2022-06-03 Jishnu Roychoudhury , Jatin Yadav

The complexity of the Quicksort algorithm is usually measured by the number of key comparisons used during its execution. When operating on a list of $n$ data, permuted uniformly at random, the appropriately normalized complexity $Y_n$ is…

Probability · Mathematics 2013-01-25 Ralph Neininger

Permutation patterns and pattern avoidance have been intensively studied in combinatorics and computer science, going back at least to the seminal work of Knuth on stack-sorting (1968). Perhaps the most natural algorithmic question in this…

Data Structures and Algorithms · Computer Science 2019-08-14 Benjamin Aram Berendsohn , László Kozma , Dániel Marx

In this paper we examine sorting on the assumption that we do not know in advance which way to sort a sequence of numbers and we set at work simple local comparison and swap operators whose repeating application ends up in sorted sequences.…

Artificial Intelligence · Computer Science 2009-03-11 Dimitris Kalles , Alexis Kaporis

This paper addresses the anytime sorting problem, aiming to develop algorithms providing tentative estimates of the sorted list at each execution step. Comparisons are treated as steps, and the Spearman's footrule metric evaluates…

Data Structures and Algorithms · Computer Science 2024-05-15 Emma Caizergues , François Durand , Fabien Mathieu

A major goal in the area of exact exponential algorithms is to give an algorithm for the (worst-case) $n$-input Subset Sum problem that runs in time $2^{(1/2 - c)n}$ for some constant $c>0$. In this paper we give a Subset Sum algorithm with…

Data Structures and Algorithms · Computer Science 2023-01-31 Xi Chen , Yaonan Jin , Tim Randolph , Rocco A. Servedio

We present numerical results for the probability of bad cases for Quicksort, i.e. cases of input data for which the sorting cost considerably exceeds that of the average. Dynamic programming was used to compute solutions of the recurrence…

Data Structures and Algorithms · Computer Science 2015-07-16 Guido Hartmann

We present a new adaptive sorting algorithm which is optimal for most disorder metrics and, more important, has a simple and quick implementation. On input $X$, our algorithm has a theoretical $\Omega (|X|)$ lower bound and a…

Data Structures and Algorithms · Computer Science 2014-07-24 Marcello La Rocca , Domenico Cantone

Subset Sum is a classical optimization problem taught to undergraduates as an example of an NP-hard problem, which is amenable to dynamic programming, yielding polynomial running time if the input numbers are relatively small. Formally,…

Data Structures and Algorithms · Computer Science 2018-07-24 Konstantinos Koiliaris , Chao Xu

I discuss the new dual-pivot Quicksort that is nowadays used to sort arrays of primitive types in Java. I sketch theoretical analyses of this algorithm that offer a possible, and in my opinion plausible, explanation why (a) dual-pivot…

Data Structures and Algorithms · Computer Science 2016-09-29 Sebastian Wild