Explaining the fundamentals of algorithms, this text emphasizes on understanding the mathematical idea behind each algorithm. It includes features such as: the use of boxes to strengthen the narrative: pieces that give historical context, descriptions of how the algorithms are used in practice, and excursions for the mathematically sophisticated.