Introduction to algorithms - CORMEN, Thomas H. (MIT Press, 1990)