Introduction to Algorithms - Cormen, TH; Leiserson, CE; Rivest, RL (McGraw-Hill, 1992)