BIROn - Birkbeck Institutional Research Online

    Maintaining the size of LZ77 on semi-dynamic strings

    Bannai, H. and Charalampopoulos, Panagiotis and Radoszewski, J. (2024) Maintaining the size of LZ77 on semi-dynamic strings. Leibniz International Proceedings in Informatics (LIPIcs) , ISSN 1868-8969.

    [img]
    Preview
    Text
    semi_dynamic_LZ77.pdf - Published Version of Record
    Available under License Creative Commons Attribution.

    Download (826kB) | Preview

    Abstract

    We consider the problem of maintaining the size of the LZ77 factorization of a string S of length at most n under the following operations: (a) appending a given letter to S and (b) deleting the first letter of S. Our main result is an algorithm for this problem with amortized update time Õ(√n). As a corollary, we obtain an Õ(n√n)-time algorithm for computing the most LZ77-compressible rotation of a length-n string - a naive approach for this problem would compute the LZ77 factorization of each possible rotation and would thus take quadratic time in the worst case. We also show an Ω(√n) lower bound for the additive sensitivity of LZ77 with respect to the rotation operation. Our algorithm employs dynamic trees to maintain the longest-previous-factor array information and depends on periodicity-based arguments that bound the number of the required updates and enable their efficient computation.

    Metadata

    Item Type: Article
    Keyword(s) / Subject(s): Lempel-Ziv compression, LZ77, semi-dynamic algorithm, cyclic rotation
    School: Birkbeck Faculties and Schools > Faculty of Science > School of Computing and Mathematical Sciences
    Depositing User: Panagiotis Charalampopoulos
    Date Deposited: 15 Jul 2024 13:26
    Last Modified: 16 Jul 2024 13:17
    URI: https://eprints.bbk.ac.uk/id/eprint/53512

    Statistics

    Activity Overview
    6 month trend
    1Download
    6 month trend
    3Hits

    Additional statistics are available via IRStats2.

    Archive Staff Only (login required)

    Edit/View Item Edit/View Item