The Art of Computer Programming. Vol. 3, Sorting and searching - Knuth, Donald Ervin (Addison-Wesley, 1998)