Range predecessor and Lempel-Ziv parsing

From MaRDI portal
Publication:4575728




Abstract: The Lempel-Ziv parsing of a string (LZ77 for short) is one of the most important and widely-used algorithmic tools in data compression and string processing. We show that the Lempel-Ziv parsing of a string of length n on an alphabet of size sigma can be computed in O(nloglogsigma) time (O(n) time if we allow randomization) using O(nlogsigma) bits of working space; that is, using space proportional to that of the input string in bits. The previous fastest algorithm using O(nlogsigma) space takes O(n(logsigma+loglogn)) time. We also consider the important rightmost variant of the problem, where the goal is to associate with each phrase of the parsing its most recent occurrence in the input string. We solve this problem in O(n(1+(logsigma/sqrtlogn)) time, using the same working space as above. The previous best solution for rightmost parsing uses O(n(1+logsigma/loglogn)) time and O(nlogn) space. As a bonus, in our solution for rightmost parsing we provide a faster construction method for efficient 2D orthogonal range reporting, which is of independent interest.









This page was built for publication: Range predecessor and Lempel-Ziv parsing

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4575728)