The big data tsunami changes the perspective of industrial and academic research in how they address both foundational questions and practical applications. This calls for a paradigm shift in algorithms and the underlying mathematical techniques. There is a need to understand foundational strengths and address the state of the art challenges in big data that could lead to practical impact. The main goal of this book is to introduce algorithmic techniques for dealing with big data sets. Traditional algorithms work successfully when the input data fits well within memory. In many recent application situations, however, the size of the input data is too large to fit within memory.
Models of Computation for Big Data, covers mathematical models for developing such algorithms, which has its roots in the study of big data that occur often in various applications. Most techniques discussed come from research in the last decade. The book will be structured as a sequence of algorithmic ideas, theoretical underpinning, and practical use of that algorithmic idea. Intended for both graduate students and advanced undergraduate students, there are no formal prerequisites, but the reader should be familiar with the fundamentals of algorithm design and analysis, discrete mathematics, probability and have general mathematical maturity.