← BST · guided lesson

Binary Search Trees

1 / 18 · story

the story

Binary search tree

Every tool here exists because something was too slow or broke without it. Here is what.

1960–62 · P. F. Windley; A. D. Booth & A. J. T. Colin; Thomas N. Hibbard — independently

Around 1960 several researchers arrived at the same idea on their own: keep keys in a tree where smaller keys go left and larger keys go right. Windley (The Computer Journal, 1960) and Booth with Colin (Information and Control, 1960) built such trees one key at a time. Hibbard's 1962 paper in the Journal of the ACM studied these trees mathematically, for searching and sorting, and gave a way to delete keys from them.

the problem it solved

A dictionary you can search like a sorted list, yet grow one key at a time without shifting everything after it.

why it matters: without it

You'd choose between a sorted array (fast search, O(n) inserts) and a hash table (fast inserts, no order) — nothing would give you both, plus "next bigger key", in O(log n).

sources: P. F. Windley — Trees, Forests and Rearranging (The Computer Journal, 1960) ↗ · A. D. Booth & A. J. T. Colin — On the efficiency of a new method of dictionary construction (Information and Control, 1960) ↗ · T. N. Hibbard — Some Combinatorial Properties of Certain Trees With Applications to Searching and Sorting (JACM, 1962) ↗ · Binary search tree — history (independent discovery by Windley, Booth, Colin and Hibbard) ↗

also in this chapter: BST delete with the in-order successor (Hibbard deletion) · Self-balancing BST (AVL tree)