Algorithms: For Competitive Programming
- Edition: 1
- Language: English
- Publication Date: 2021-01-25
- ISBN-10: B08V51PVCX
Preparing for your incoming programming contest or coding interview? This book contains detailed explanations and source code for algorithms used in competitive programing. Written by software engineers with experience in programming competitions and developing high scalable systems for some of the biggest tech companies. It covers algorithms in the areas of Graph Theory, Number Theory, Combinatorics, Dynamic Programming, Geometry, and more. Competitive programming is frequently associated with algorithms, but an algorithm is just a set of instructions that are given to the computer to solve a specific problem that has already been solved in the head of the programmer. The goal of this book is to provide two things for each algorithm, a brief description of how it works and a source code that implements the theory behind the algorithm. Each section contains exercises and their respective solutions. Also the appendices contain problems with non-trivial solutions that we have selected to show the reader how sometimes simple algorithms can solve complex problems, and also how simple problems may require a complex solution. The source code of the exercises and other algorithms in this book can be found in the GitHub page: https://github.com/Cheetos/afcp. We have written this book because of our passion for algorithms, its content comes from trainings for programming competitions, from coaching and mentoring others, from failures and successes on tech interviews, from our experience in the tech industry, etc. We hope that you find this book useful for your objectives, and that you enjoy reading it as much as we enjoyed writing it.