Return to Tony Hoare, List of Algorithms, Algorithms
Quicksort is an efficient, general-purpose sorting algorithm. Quicksort was developed by British computer scientist Tony Hoare in 1959 and published in 1961. It is still a commonly used algorithm for sorting. Overall, it is slightly faster than merge sort and heapsort for randomized data, particularly on larger distributions.
Quicksort is a divide-and-conquer algorithm. It works by selecting a 'pivot' element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot. For this reason, it is sometimes called partition-exchange sort. The sub-arrays are then sorted recursively. This can be done in-place, requiring small additional amounts of memory to perform the sorting.
Quicksort is a comparison sort, meaning that it can sort items of any type for which a "less-than" relation (formally, a total order) is defined. It is a comparison-based sort since elements a and b are only swapped in case their relative order has been obtained in the transitive closure of prior comparison-outcomes. Most implementations of quicksort are not stable, meaning that the relative order of equal sort items is not preserved.
Mathematical analysis of quicksort shows that, on average, the algorithm takes comparisons to sort n items. In the worst case, it makes comparisons.
Algorithms: Big O Notation, Iterative method Chase algorithm, Grokking Algorithms, Edsger Dijkstra, Donald Knuth: The Art of Computer Programming (TAOCP), Analysis of algorithms. Algorithms GitHub. (navbar_algorithms)
Algorithms: Algorithms Fundamentals, Algorithms Inventor: Algorithms Language Designer: ZZZ on DATE, YEAR; Algorithms DevOps - Algorithms SRE, Cloud Native Algorithms (Algorithms on Kubernetes - Algorithms on AWS - Algorithms on Azure - Algorithms on GCP), Algorithms Microservices, Algorithms Containerization (Algorithms Docker - Algorithms on Docker Hub), Serverless Algorithms, Algorithms Data Science - Algorithms DataOps - Algorithms and Databases (Algorithms ORM), Algorithms ML - Algorithms DL, Functional Algorithms (1. Algorithms Immutability, 2. Algorithms Purity - Algorithms No Side-Effects, 3. Algorithms First-Class Functions - Algorithms Higher-Order Functions, Algorithms Lambdas - Algorithms Anonymous Functions - Algorithms Closures, Algorithms Lazy Evaluation, 4. Algorithms Recursion), Reactive Algorithms), Algorithms Concurrency - Algorithms Parallel Programming - Async Algorithms, Algorithms Networking, Algorithms Security - Algorithms DevSecOps - Algorithms OAuth, Algorithms Memory Allocation (Algorithms Heap - Algorithms Stack - Algorithms Garbage Collection), Algorithms CI/CD - Algorithms Dependency Management - Algorithms DI - Algorithms IoC - Algorithms Build Pipeline, Algorithms Automation - Algorithms Scripting, Algorithms Package Managers, Algorithms Modules - Algorithms Packages, Algorithms Installation (Algorithms Windows - Chocolatey Algorithms, Algorithms macOS - Homebrew Algorithms, Algorithms on Linux), Algorithms Configuration, Algorithms Observability (Algorithms Monitoring, Algorithms Performance - Algorithms Logging), Algorithms Language Spec - Algorithms RFCs - Algorithms Roadmap, Algorithms Keywords, Algorithms Operators, Algorithms Functions, Algorithms Data Structures - Algorithms Algorithms, Algorithms Syntax, Algorithms OOP (1. Algorithms Encapsulation - 2. Algorithms Inheritance - 3. Algorithms Polymorphism - 4. Algorithms Abstraction), Algorithms Design Patterns - Algorithms Best Practices - Algorithms Style Guide - Clean Algorithms - Algorithms BDD, Algorithms Generics, Algorithms I/O, Algorithms Serialization - Algorithms Deserialization, Algorithms APIs, Algorithms REST - Algorithms JSON - Algorithms GraphQL, Algorithms gRPC, Algorithms Virtualization, Algorithms Development Tools: Algorithms SDK, Algorithms Compiler - Algorithms Transpiler, Algorithms Interpreter - Algorithms REPL, Algorithms IDEs (JetBrains Algorithms, Algorithms Visual Studio Code), Algorithms Linter, Algorithms Community - Algorithmsaceans - Algorithms User, Algorithms Standard Library - Algorithms Libraries - Algorithms Frameworks, Algorithms Testing - Algorithms TDD, Algorithms History, Algorithms Research, Algorithms Topics, Algorithms Uses - List of Algorithms Software - Written in Algorithms - Algorithms Popularity, Algorithms Bibliography - Algorithms Courses, Algorithms Glossary - Algorithms Official Glossary, Algorithms GitHub, Awesome Algorithms. (navbar_Algorithms)
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.