Results 1  10
of
30
On a multivariate contraction method for random recursive structures with applications to Quicksort
, 2001
"... The contraction method for recursive algorithms is extended to the multivariate analysis of vectors of parameters of recursive structures and algorithms. We prove a general multivariate limit law which also leads to an approach to asymptotic covariances and correlations of the parameters. As an appl ..."
Abstract

Cited by 30 (16 self)
 Add to MetaCart
(Show Context)
The contraction method for recursive algorithms is extended to the multivariate analysis of vectors of parameters of recursive structures and algorithms. We prove a general multivariate limit law which also leads to an approach to asymptotic covariances and correlations of the parameters. As an application the asymptotic correlations and a bivariate limit law for the number of key comparisons and exchanges of medianof(2t + 1) Quicksort is given. Moreover, for the Quicksort programs analyzed by Sedgewick the exact order of the standard deviation and a limit law follow, considering all the parameters counted by Sedgewick.
An asymptotic theory for CauchyEuler differential equations with applications to the analysis of algorithms
, 2002
"... CauchyEuler differential equations surfaced naturally in a number of sorting and searching problems, notably in quicksort and binary search trees and their variations. Asymptotics of coefficients of functions satisfying such equations has been studied for several special cases in the literature. We ..."
Abstract

Cited by 25 (10 self)
 Add to MetaCart
CauchyEuler differential equations surfaced naturally in a number of sorting and searching problems, notably in quicksort and binary search trees and their variations. Asymptotics of coefficients of functions satisfying such equations has been studied for several special cases in the literature. We study in this paper the most general framework for CauchyEuler equations and propose an asymptotic theory that covers almost all applications where CauchyEuler equations appear. Our approach is very general and requires almost no background on differential equations. Indeed the whole theory can be stated in terms of recurrences instead of functions. Old and new applications of the theory are given. New phase changes of limit laws of new variations of quicksort are systematically derived. We apply our theory to about a dozen of diverse examples in quicksort, binary search trees, urn models, increasing trees, etc.
On the adaptiveness of quicksort
 IN: WORKSHOP ON ALGORITHM ENGINEERING & EXPERIMENTS, SIAM
, 2005
"... Quicksort was first introduced in 1961 by Hoare. Many variants have been developed, the best of which are among the fastest generic sorting algorithms available, as testified by the choice of Quicksort as the default sorting algorithm in most programming libraries. Some sorting algorithms are adapti ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
Quicksort was first introduced in 1961 by Hoare. Many variants have been developed, the best of which are among the fastest generic sorting algorithms available, as testified by the choice of Quicksort as the default sorting algorithm in most programming libraries. Some sorting algorithms are adaptive, i.e. they have a complexity analysis which is better for inputs which are nearly sorted, according to some specified measure of presortedness. Quicksort is not among these, as it uses Ω(n log n) comparisons even when the input is already sorted. However, in this paper we demonstrate empirically that the actual running time of Quicksort is adaptive with respect to the presortedness measure Inv. Differences close to a factor of two are observed between instances with low and high Inv value. We then show that for the randomized version of Quicksort, the number of element swaps performed is provably adaptive with respect to the measure Inv. More precisely, we prove that randomized Quicksort performs expected O(n(1+log(1+ Inv/n))) element swaps, where Inv denotes the number of inversions in the input sequence. This result provides a theoretical explanation for the observed behavior, and gives new insights on the behavior of the Quicksort algorithm. We also give some empirical results on the adaptive behavior of Heapsort and Mergesort.
Partial Quicksort and . . .
"... Partial Quicksort sorts the l smallest elements in a list of length n. We provide a complete running time analysis for this combination of Find and Quicksort. Further we give some optimal adapted versions, called Partition Quicksort, with an asymptotic running time c1l lnl + c2l + n + o(n). The con ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
Partial Quicksort sorts the l smallest elements in a list of length n. We provide a complete running time analysis for this combination of Find and Quicksort. Further we give some optimal adapted versions, called Partition Quicksort, with an asymptotic running time c1l lnl + c2l + n + o(n). The constant c1 can be as small as the information theoretic lower bound log 2 e.
Weighted height of random trees
 Manuscript
"... We consider a model of random trees similar to the split trees of Devroye [30] in which a set of items is recursively partitioned. Our model allows for more flexibility in the choice of the partitioning procedure, and has weighted edges. We prove that for this model, the height H n of a random tree ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
(Show Context)
We consider a model of random trees similar to the split trees of Devroye [30] in which a set of items is recursively partitioned. Our model allows for more flexibility in the choice of the partitioning procedure, and has weighted edges. We prove that for this model, the height H n of a random tree is asymptotic to c log n in probability for a constant c that is uniquely characterized in terms of multivariate large deviations rate functions. This extension permits us to obtain the height of pebbled tries, pebbled ternary search tries, dary pyramids, and to study geometric properties of partitions generated by kd trees. The model also includes all polynomial families of increasing trees recently studied by Broutin, Devroye, McLeish, and de la Salle [17].
Optimal splitters for database partitioning with size bounds
 In Proceedings of the International Conference on Database Theory
, 2009
"... Partitioning is an important step in several database algorithms, including sorting, aggregation, and joins. Partitioning is also fundamental for dividing work into equalsized (or balanced) parallel subtasks. In this paper, we aim to find, materialize and maintain a set of partitioning elements (sp ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Partitioning is an important step in several database algorithms, including sorting, aggregation, and joins. Partitioning is also fundamental for dividing work into equalsized (or balanced) parallel subtasks. In this paper, we aim to find, materialize and maintain a set of partitioning elements (splitters) for a data set. Unlike traditional partitioning elements, our splitters define both inequality and equality partitions, which allows us to bound the size of the inequality partitions. We provide an algorithm for determining an optimal set of splitters from a sorted data set and show that it has time complexity O(k lg 2 N), where k is the number of splitters requested and N is the size of the data set. We show how the algorithm can be extended to pairs of tables, so that joins can be partitioned into work units that have balanced cost. We demonstrate experimentally (a) that finding the optimal set of splitters can be done efficiently, and (b) that using the precomputed splitters can improve the time to sort a data set by up to 76%, with particular benefits in the presence of a few heavy hitters. 1.
The Quicksort process
, 2013
"... Quicksort on the fly returns the input of n reals in increasing natural order during the sorting process. Correctly normalized the running time up to returning the lth smallest out of n seen as a process in l converges weakly to a limiting process with path in the space of cadlag functions. ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Quicksort on the fly returns the input of n reals in increasing natural order during the sorting process. Correctly normalized the running time up to returning the lth smallest out of n seen as a process in l converges weakly to a limiting process with path in the space of cadlag functions.
How Branch Mispredictions Affect Quicksort
, 2006
"... We explain the counterintuitive observation that finding “good” pivots (close to the median of the array to be partitioned) may not improve performance of quicksort. Indeed, an intentionally skewed pivot improves performance. The reason is that while the instruction count decreases with the quality ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We explain the counterintuitive observation that finding “good” pivots (close to the median of the array to be partitioned) may not improve performance of quicksort. Indeed, an intentionally skewed pivot improves performance. The reason is that while the instruction count decreases with the quality of the pivot, the likelihood that the direction of a branch is mispredicted also goes up. We analyze the effect of simple branch prediction schemes and measure the effects on real hardware.
Partitioning schemes for quicksort and quickselect
, 2003
"... We introduce several modifications of the partitioning schemes used in Hoare’s quicksort and quickselect algorithms, including ternary schemes which identify keys less or greater than the pivot. We give estimates for the numbers of swaps made by each scheme. Our computational experiments indicate th ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We introduce several modifications of the partitioning schemes used in Hoare’s quicksort and quickselect algorithms, including ternary schemes which identify keys less or greater than the pivot. We give estimates for the numbers of swaps made by each scheme. Our computational experiments indicate that ternary schemes allow quickselect to identify all keys equal to the selected key at little additional cost. Key words. Sorting, selection, quicksort, quickselect, partitioning. 1
Partial quicksort and quickpartitionsort
, 2009
"... Partial Quicksort sorts the l smallest elements in a list of length n. We provide a complete running time analysis for this combination of Find and Quicksort. Further we give some optimal adapted versions, called Partition Quicksort, with an asymptotic running time c1l ln l+c2l+n+o(n). The constant ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Partial Quicksort sorts the l smallest elements in a list of length n. We provide a complete running time analysis for this combination of Find and Quicksort. Further we give some optimal adapted versions, called Partition Quicksort, with an asymptotic running time c1l ln l+c2l+n+o(n). The constant c1 can be as small as the information theoretic lower bound log 2 e.