Cormen et al. Introduction to Algorithms (2001)