Quicksort

E100207

Quicksort is a highly efficient, comparison-based sorting algorithm that uses a divide-and-conquer strategy and is widely employed in computer science and software systems.

All labels observed (2)

Label Occurrences
Quicksort canonical 1
quick sort 1

How this entity was disambiguated

Statements (51)

Predicate Object
instanceOf comparison-based algorithm
divide-and-conquer algorithm
sorting algorithm
advantage efficient for large datasets
good cache performance
low constant factors
alsoKnownAs Quicksort
surface form: quick sort
belongsToClass comparison sort
canBeImplementedIteratively true
canBeRandomized true
category algorithm
comparedWith Heapsort
Insertion sort
Merge sort
creator Tony Hoare
disadvantage not stable by default
performance depends on pivot selection
worst-case quadratic time
field computer science
goal order elements according to a total order
inputType array
list
sequence of comparable elements
isInPlace true
isStable false
keyIdea partition array around a pivot element
recursively sort subarrays
notableProperty expected O(n log n) performance with random pivots
optimization switch to insertion sort for small subarrays
output sorted sequence
partitionScheme Hoare partition scheme
Lomuto partition scheme
primaryOperation comparison
spaceComplexityAverageCase O(log n)
spaceComplexityWorstCase O(n)
strategy divide and conquer
timeComplexityAverageCase O(n log n)
timeComplexityBestCase O(n log n)
timeComplexityWorstCase O(n^2)
typicalPivotChoices first element
last element
median-of-three
random element
usedIn general-purpose sorting
standard library implementations of sort in many languages
systems programming
usesRecursion true
worstCaseOccursWhen array is already sorted with poor pivot choice
array is reverse sorted with poor pivot choice
yearProposed 1959
yearPublished 1961

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Tony Hoare notableWork Quicksort
Quicksort alsoKnownAs Quicksort
this entity surface form: quick sort