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