Thomas H. Cormen

Introduction to Algorithms