Succinct 2D dictionary matching with no slowdown

  • Authors:
  • Shoshana Neuburger;Dina Sokol

  • Affiliations:
  • Department of Computer Science, The Graduate Center of the City University of New York, New York, NY;Department of Computer and Information Science, Brooklyn College of the City University of New York, Brooklyn, NY

  • Venue:
  • WADS'11 Proceedings of the 12th international conference on Algorithms and data structures
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The dictionary matching problem seeks all locations in a given text that match any of the patterns in a given dictionary. Efficient algorithms for dictionary matching scan the text once, searching for all patterns simultaneously. This paper presents the first 2-dimensional dictionary matching algorithm that operates in small space and linear time. Given d patterns, D = {P1,...,Pd}, each of size m × m, and a text T of size n × n, our algorithm finds all occurrences of Pi, 1 ≤ i ≤ d, in T. The preprocessing stores the dictionary in entropy compressed form, in |D|Hk(D)+O(|D|) bits. Our algorithm uses O(dm log dm) bits of extra space. The time complexity of our algorithm is linear O(|D| + |T|).