The art of computer programming : sorting and searching. Volume 3. - Knuth, Donald E. (Addison-Wesley, 1997)