Knuth, D. E. (1998).
The Art of Computer Programming - sorting and searching
(Vol. 3). Addison-Wesley.