The art of computer programming. Vol. 3. Sorting and searching - Knuth, Donald E. (Donald Ervin) (Addison-Wesley Publishing, 1973)