Algorithm 63: partition

  title={Algorithm 63: partition},
  author={C. Hoare},
  journal={Commun. ACM},
  • C. Hoare
  • Published 1961
  • Computer Science
  • Commun. ACM
b e g i n p r o c e d u r e RANGESUM (a, b, c, d, e, f); rea l a , b , c , d , e , f ; c o m m e n t The term "range number" was used by P. S. Dwyer, Linear Computations (Wiley, 1951). Machine procedures for range ari thmetic were developed about 1958 by Ramon Moore, "Automatic Error Analysis in Digital Computa t ion ," LMSD Report 48421, 28 Jan. 1959, Lockheed Missiles and Space Division, Palo Alto, California, 59 pp. If a _< x -< b and c ~ y ~ d, then RANGESUM yields an interval [e, f] such… Expand
Data-driven decomposition of sequential programs for determinate parallel execution
This dissertation proposes data-driven decomposition as a mechanism to overcome many of the difficulties associated with deriving parallel execution of software, and describes the design and implementation of PROMETHEUS, a library comprising two components supporting data- driven decomposition of programs written in the C++ language. Expand
Dual-Pivot Quicksort and Beyond: Analysis of Multiway Partitioning and Its Practical Potential
This dissertation conducts a mathematical average-case analysis of multiway Quicksort including the important optimization to choose pivots from a sample of the input and proposes a parametric template algorithm that covers all practically relevant partitioning methods as special cases, and analytically investigates in depth what effect the parameters of the generic quicksort have on its performance. Expand
On the median-of-K version of Hoare's selection algorithm
  • R. Grübel
  • Mathematics, Computer Science
  • RAIRO Theor. Informatics Appl.
  • 1999
A variant of Hoare's FIND where the partitioning element in the central divide-and-conquer step is chosen uniformly at random from the set S in question, where this element is the median of a sample of size 2k + 1 from S is considered. Expand
Correct by construction
The paper explains matrix code, which allows one to discover algorithms and to render them in code that is both compilable and is correct by construction, and precision programming, which explains both these concepts. Expand
Automatic Inference of Necessary Preconditions
This work designed and implemented several new abstract interpretation-based analyses to infer atomic, disjunctive, universally and existentially quantified necessary preconditions and experimentally validated the analyses on large scale industrial code. Expand
Preference-based learning to rank
This paper presents an efficient preference-based ranking algorithm running in two stages that proves a lower bound for any deterministic reduction of ranking to binary classification, and admits an improved running time guarantee with respect to that deterministic algorithm. Expand
Striving for Efficiency in Algorithms : Sorting
Sorting is the fundamental algorithmic problem in computer science. It is the first step in solving many other algorithmic problems. Donald Knuth, a world famous computer scientist and author of theExpand
Improved master theorems for divide-and-conquer recurrences
  • S. Roura
  • Mathematics, Computer Science
  • JACM
  • 2001
New theorems to analyze divide-and-conquer recurrences are presented, which improve other similar ones in several aspects and cover a wider set of toll functions and weight distributions, stochastic recurrence included. Expand
Declarative Pearl: Deriving Monadic Quicksort
To demonstrate derivation of monadic programs, a specification of sorting using the non-determinism monad is presented, and pure quicksort on lists and state-monadic quicksorts on arrays are derived. Expand
Elastic Machine Learning Algorithms in Amazon SageMaker
The computational model behind Amazon SageMaker, which is an ML platform provided as part of Amazon Web Services, and supports incremental training, resumable and elastic learning as well as automatic hyperparameter optimization, is described. Expand