The art of computer programming. Vol. 3. Sorting and searching. Second edition (1998)

by D E Knuth