This book is for anyone who wants to understand essential algorithms and their implementation. Whether you are an experienced programmer who wants to gain a deeper understanding of the math behind the algorithms, or have limited data science and programming knowledge and want to learn more about this important area of active research and application, you’ll find this book useful. Although experience with Python programming is a must, knowledge of data science will be helpful but not necessary.