Introduction to Algorithms by Ronald L. Rivest, Charles Leiserson, Thomas H…. You will find that this textbook is well suited for self-study or classroom use.