The art of computer programming, volume 3 : sorting and searching - Knuth, Donald E. (Addison-Wesley series in computer science and information processing, 1973)