Skip to main navigation Skip to search Skip to main content

Speeding up the AIFV-2 dynamic programs by two orders of magnitude using Range Minimum Queries

  • Mordecai Golin*
  • , Elfarouk Harb
  • *Corresponding author for this work

Research output: Contribution to journalJournal Articlepeer-review

Abstract

AIFV-2 codes are a new method for constructing lossless codes for memoryless sources that provide better worst-case redundancy than Huffman codes. They do this by using two code trees instead of one and also allowing some bounded delay in the decoding process. Known algorithms for constructing AIFV-codes are iterative; at each step they replace the current code tree pair with a “better” one. The current state of the art for performing this replacement is a pair of Dynamic Programming (DP) algorithms that use O(n5) time to fill in two tables, each of size O(n3) (where n is the number of different characters in the source). This paper describes how to reduce the time for filling in the DP tables by two orders of magnitude, down to O(n3). It does this by introducing a grouping technique that permits separating the Θ(n3)-space tables into Θ(n) groups, each of size O(n2), and then using Two-Dimensional Range-Minimum Queries (RMQs) to fill in that group's table entries in O(n2) time.

Original languageEnglish
Pages (from-to)99-118
Number of pages20
JournalTheoretical Computer Science
Volume865
DOIs
Publication statusPublished - 14 Apr 2021

Bibliographical note

Publisher Copyright:
© 2021 Elsevier B.V.

Keywords

  • AIFV codes
  • Dynamic programming speedups
  • Range minimum queries

Fingerprint

Dive into the research topics of 'Speeding up the AIFV-2 dynamic programs by two orders of magnitude using Range Minimum Queries'. Together they form a unique fingerprint.

Cite this