Introduction to algorithms - Thomas H. Cormen ... [et al.] (The MIT Press, 2001)