Results 1  10
of
63
A Limit Theorem for "Quicksort"
 Applications/Theoretical Informatics and Applications
, 1999
"... Let X n be the number of comparisons needed by the sorting algorithm Quicksort to sort a list of n numbers into their natural ordering. We show that (X n \Gamma E(X n ))=n converges weakly to some random variable Y. The distribution of Y is characterized as the fixed point of some contraction. It sa ..."
Abstract

Cited by 99 (2 self)
 Add to MetaCart
Let X n be the number of comparisons needed by the sorting algorithm Quicksort to sort a list of n numbers into their natural ordering. We show that (X n \Gamma E(X n ))=n converges weakly to some random variable Y. The distribution of Y is characterized as the fixed point of some contraction. It satisfies a recursive equation, which is used to provide recursive relations for the moments. The random variable Y has exponential tails. Therefore the probability that Quicksort performs badly, e.g. that X n is larger than 2E(X n ) converges polynomially fast of every order to zero. R'esum'e Soit X n le nombre de comparaisons utilis'ees par la proc'edure Quicksort pour trier une liste de nombres distincts. Nous d'emontrons que (X n \Gamma E(X n ))=n converge faiblement vers une certaine variable al'eatoire Y. La distribution de Y est le point fixe d'une contraction et peut etre calcul'ee num'eriquement par it'eration. Keywords: sorting algorithm quicksort, fixed point, asymptotic distribut...
On the Analysis of Stochastic Divide and Conquer Algorithms.
, 1999
"... This paper develops general tools for the analysis of stochastic divide and conquer algorithms. We concentrate on the average performance and the distribution of the duration of the algorithm. In particular we analyse the average performance and the running time distribution of the 2k + 1median ..."
Abstract

Cited by 48 (1 self)
 Add to MetaCart
This paper develops general tools for the analysis of stochastic divide and conquer algorithms. We concentrate on the average performance and the distribution of the duration of the algorithm. In particular we analyse the average performance and the running time distribution of the 2k + 1median version of Quicksort.
Interprocedural shape analysis for cutpointfree programs
 In SAS’05: Static Analysis Symposium, volume 3672 of LNCS
, 2005
"... Abstract. We present a framework for interprocedural shape analysis, which is contextand flowsensitive with the ability to perform destructive pointer updates. We limit our attention to cutpointfree programs—programs in which reasoning on a procedure call only requires consideration of context rea ..."
Abstract

Cited by 37 (6 self)
 Add to MetaCart
Abstract. We present a framework for interprocedural shape analysis, which is contextand flowsensitive with the ability to perform destructive pointer updates. We limit our attention to cutpointfree programs—programs in which reasoning on a procedure call only requires consideration of context reachable from the actual parameters. For such programs, we show that our framework is able to perform an efficient modular analysis. Technically, our analysis computes procedure summaries as transformers from inputs to outputs while ignoring parts of the heap not relevant to the procedure. This makes the analysis modular in the heap and thus allows reusing the effect of a procedure at different callsites and even between different contexts occurring at the same callsite. We have implemented a prototype of our framework and used it to verify interesting properties of cutpointfree programs, including partial correctness of a recursive quicksort implementation. 1
A Logical Analysis of Aliasing in Imperative HigherOrder Functions
 INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, ICFP’05
, 2005
"... We present a compositional program logic for callbyvalue imperative higherorder functions with general forms of aliasing, which can arise from the use of reference names as function parameters, return values, content of references and part of data structures. The program logic ..."
Abstract

Cited by 28 (3 self)
 Add to MetaCart
We present a compositional program logic for callbyvalue imperative higherorder functions with general forms of aliasing, which can arise from the use of reference names as function parameters, return values, content of references and part of data structures. The program logic
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 24 (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
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.
Density Approximation and Exact Simulation of Random Variables that are Solutions of FixedPoint Equations
 Adv. Appl. Probab
, 2002
"... An algorithm is developed for the exact simulation from distributions that are defined as fixedpoints of maps between spaces of probability measures. The fixedpoints of the class of maps under consideration include examples of limit distributions of random variables studied in the probabilistic an ..."
Abstract

Cited by 10 (6 self)
 Add to MetaCart
An algorithm is developed for the exact simulation from distributions that are defined as fixedpoints of maps between spaces of probability measures. The fixedpoints of the class of maps under consideration include examples of limit distributions of random variables studied in the probabilistic analysis of algorithms. Approximating sequences for the densities of the fixedpoints with explicit error bounds are constructed. The sampling algorithm relies on a modified rejection method. AMS subject classifications. Primary: 65C10; secondary: 65C05, 68U20, 11K45.
Stochastic Analysis Of TreeLike Data Structures
 Proc. R. Soc. Lond. A
, 2002
"... The purpose of this article is to present two types of data structures, binary search trees and usual (combinatorial) binary trees. Although they constitute the same set of (rooted) trees they are constructed via completely dierent rules and thus the underlying probabilitic models are dierent, too. ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
The purpose of this article is to present two types of data structures, binary search trees and usual (combinatorial) binary trees. Although they constitute the same set of (rooted) trees they are constructed via completely dierent rules and thus the underlying probabilitic models are dierent, too. Both kinds of data structures can be analyzed by probabilistic and stochastic tools, binary search trees (more or less) with martingales and binary trees (which can be considered as a special case of GaltonWatson trees) with stochastic processes. It is also an aim of this article to demonstrate the strength of analytic methods in speci c parts of probabilty theory related to combinatorial problems, especially we make use of the concept of generating functions. One reason is that that recursive combinatorial descriptions can be translated to relations for generating functions, and second analytic properties of these generating functions can be used to derive asymptotic (probabilistic) relations. 1.
Cacheefficient string sorting using copying
 In submission
, 2006
"... Abstract. Burstsort is a cacheoriented sorting technique that uses a dynamic trie to efficiently divide large sets of string keys into related subsets small enough to sort in cache. In our original burstsort, string keys sharing a common prefix were managed via a bucket of pointers represented as a ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
Abstract. Burstsort is a cacheoriented sorting technique that uses a dynamic trie to efficiently divide large sets of string keys into related subsets small enough to sort in cache. In our original burstsort, string keys sharing a common prefix were managed via a bucket of pointers represented as a list or array; this approach was found to be up to twice as fast as the previous best string sorts, mostly because of a sharp reduction in outofcache references. In this paper we introduce Cburstsort, which copies the unexamined tail of each key to the bucket and discards the original key to improve data locality. On both Intel and PowerPC architectures, and on a wide range of string types, we show that sorting is typically twice as fast as our original burstsort, and four to five times faster than multikey quicksort and previous radixsorts. A variant that copies both suffixes and record pointers to buckets, CPburstsort, uses more memory but provides stable sorting. In current computers, where performance is limited by memory access latencies, these new algorithms can dramatically reduce the time needed for internal sorting of large numbers of strings. 1
Algorithm Selection for Sorting and Probabilistic Inference: A Machine LearningBased Approach
 KANSAS STATE UNIVERSITY
, 2003
"... The algorithm selection problem aims at selecting the best algorithm for a given computational problem instance according to some characteristics of the instance. In this dissertation, we first introduce some results from theoretical investigation of the algorithm selection problem. We show, by Rice ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
The algorithm selection problem aims at selecting the best algorithm for a given computational problem instance according to some characteristics of the instance. In this dissertation, we first introduce some results from theoretical investigation of the algorithm selection problem. We show, by Rice's theorem, the nonexistence of an automatic algorithm selection program based only on the description of the input instance and the competing algorithms. We also describe an abstract theoretical framework of instance hardness and algorithm performance based on Kolmogorov complexity to show that algorithm selection for search is also incomputable. Driven by the theoretical results, we propose a machine learningbased inductive approach using experimental algorithmic methods and machine learning techniques to solve the algorithm selection problem. Experimentally, we have