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.
Reading focus: 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.
The Computer Journal 1962. C. A. R. Hoare. 30 min read, very easy difficulty.