Introductions to ALgorithms - Thomas H. Cormen; R L Rivest; Charles E. Leisersen (PHI, 2003)