---
title: "Quicksort"
description: "Quicksort asks how one value can turn a disorderly table into two smaller sorting problems without copying everything into a merge buffer. Read it to see how two pointers scan inward around a chosen bound, exchange values found on the wrong sides, and leave independent segments whose balance determines the amount of work still ahead."
canonical_url: "https://fanout.sh/daily/2026-09-12-quicksort-partition"
md_url: "https://fanout.sh/daily/2026-09-12-quicksort-partition.md"
last_updated: "2026-09-12"
access: "public"
---

# Quicksort

Quicksort asks how one value can turn a disorderly table into two smaller sorting problems without copying everything into a merge buffer. Read it to see how two pointers scan inward around a chosen bound, exchange values found on the wrong sides, and leave independent segments whose balance determines the amount of work still ahead.

## Paper details

- Authors: C. A. R. Hoare

- Venue: The Computer Journal 1962

- Track: Systems

- Difficulty: Very Easy

- Reading time: 30 min

- Original paper: https://academic.oup.com/comjnl/article/5/1/10/395338

## What you will learn

- How inward scans manufacture a dividing line where every lower-side key is no greater than every upper-side key.

- Why sorting the two resulting segments needs no merge step, and how a LIFO nest plus smaller-side-first processing limits postponed work.

- Why the paper's expected comparison count depends on random bound rank, and why its National-Elliott 405 timing table is useful but historically narrow.

## Continue exploring

[Continue with Dijkstra's shortest-path algorithm](https://fanout.sh/daily/2026-08-30-dijkstra-shortest-path): Follow Quicksort with another foundational algorithm guide and compare partitioning a table with settling the cheapest reachable frontier in a graph.

---
This representation contains public Fanout content only. Protected Pro lessons, account data, billing, checkout, and pricing are not included.

Browse the public content map: https://fanout.sh/sitemap.md
