Introduction to Algorithms : vol.I - Corman, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. (New York : McGraw-Hill, 1990)