Algorithms - Dasgupta, Sanjoy (McGraw-Hill Companies, 2008)