Intended as a teaching aid for college and graduate-level courses on data structures, the material in this book has been aligned to support the lecture style. All the algorithms in the book are provided in pseudocode, so that students can implement the algorithms in a programming language of their choice. The book addresses basic as well as advanced algorithms in data structures, with introductory but adequate material about parallel computing models also provided... At the end of each chapter, there are sample exercises with solutions that help students to test their understanding of the book. There are also unsolved exercises that can be of use to instructors for course assignments... Each chapter also includes notes at the end, providing a good summary of the topics covered, which is very useful for students taking the course. The author has done a commendable job in outlining various algorithms for a problem, and also in comparing their merits... [The] approach of the book is easy to understand for students with a strong mathematical background.