The objective of this book is to study a broad variety of important and useful algorithms: methods for solving problems that are suited for computer implementation.