These are the lecture notes for the course CM0622 - Algorithms for Massive Data, Ca' Foscari University of Venice. The goal of this course is to introduce algorithmic techniques for dealing with massive data: data so large that it does not fit in the computer's memory. Broadly speaking, there are two main solutions to deal with massive data: (lossless) compressed data structures and (lossy) data sketches. These notes cover the latter topic: probabilistic filters, sketching under various metrics, Locality Sensitive Hashing, nearest neighbour search, algorithms on streams (pattern matching, counting).
翻译:本文为威尼斯大学CM0622课程“大规模数据处理算法”的讲义。该课程旨在介绍处理海量数据(指无法装入计算机内存的庞大数据集)的算法技术。广义而言,解决海量数据问题主要有两类方法:(无损)压缩数据结构与(有损)数据草图技术。本讲义聚焦于后者,涵盖概率过滤器、多重度量下的草图构建、局部敏感哈希(Locality Sensitive Hashing)、最近邻搜索、流式算法(模式匹配、计数)等内容。