Practical Algorithms on Large Datasets
Description:
The ease of using in programming solutions basic data structures (arrays, linked lists and balanced search trees) comes at the high cost of performance problems when the size of a user dataset becomes large. This book describes how to solve these problems using advanced data structures that are capable of supporting a wide variety of efficient primary operations required in an application domain. This ability enables us not only to address the performance issues but also to develop general purpose programming tools without loss of efficiency. The focus is on efficient algorithms for data processing and analysis: the summation, the computation of statistical characteristics, such as the mean and the standard deviation, range queries, search and modifying operations on both ordered and unordered datasets. These algorithms play important role in applications that deal with constantly growing volumes of data. We pay special attention to the computer representation of sets, sequences and other mathematical concepts effective in numerous applications areas. This book aims to show the significant potential of advanced data structures. To help readers gain confidence in solving real-world problems, we illustrate main ideas with introductory variants of these data structures and take advantage of the geometric interpretation. It might be surprising that some aspects of advanced data structures are not extremely challenging.