Space Efficient Algorithms for the Burrows-Wheeler Backtransformation

  • Ulrich Lauther
  • Tamás Lukovszki
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3669)


The Burrows-Wheeler transformation is used for effective data compression, e.g., in the well known program bzip2. Compression and decompression are done in a block-wise fashion; larger blocks usually result in better compression rates. With the currently used algorithms for decompression, 4n bytes of auxiliary memory for processing a block of n bytes are needed, 0 < n < 232. This may pose a problem in embedded systems (e.g., mobile phones), where RAM is a scarce resource. In this paper we present algorithms that reduce the memory need without sacrificing speed too much.

The main results are: Assuming an input string of n characters, 0 < n < 232, the reverse Burrows-Wheeler transformation can be done with 1.625 n bytes of auxiliary memory and O(n) runtime, using just a few operations per input character. Alternatively, we can use n/t bytes and 256 tn operations. The theoretical results are backed up by experimental data showing the space-time tradeoff.


Query Time Input String Input Character Computer Word Random Access Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abel, J.: Grundlagen des Burrows-Wheeler-Kompressionsalgorithmus (in german). Informatik - Forschung und Entwicklung (2003),
  2. 2.
    Arnavut, Z.: Generalization of the BWT transformation and inversion ranks. In: Proc. IEEE Data Compression Conference (DCC 2002), p. 447 (2002)Google Scholar
  3. 3.
    Atallah, M.J. (ed.): Algorithms and Theory of Computation Handbook. CRC Press, Boca Raton (1999)Google Scholar
  4. 4.
    Balkenhol, B., Kurtz, S.: Universal data compression based on the Burrows-Wheeler transformation: Theory and practice. IEEE Trans. on Computers 23(10), 1043–1053 (2000)MathSciNetGoogle Scholar
  5. 5.
    Bell, T.C., Cleary, J.G., Witten, I.H.: Text Compression. Prentice Hall, Englewood Cliffs (1990)Google Scholar
  6. 6.
    Burrows, M., Wheeler, D.J.: A block-sorting lossless data compression algorithm. Tech. report 124, Digital Equipment Corp. (1994),
  7. 7.
    Fenwick, P.: Block sorting text compression – final report. Technical report, Department of Computer Science, The University of Auckland (1996),
  8. 8.
    Ferragina, P., Manzini, G.: Compression boosting in optimal linear time using the Burrows-Wheeler transform. In: Proc. 15th ACM-SIAM Symposium on Discrete Algorithms (SODA 2004), pp. 655–663 (2004)Google Scholar
  9. 9.
  10. 10.
    Manber, U., Meyers, E.: Suffix arrays: A new method for on-line string searches. SIAM Journal on Computing 22, 935–948 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Manzini, G.: An analysis of the Burrows-Wheeler transform. Journal of the ACM 48(3), 407–430 (2001)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Nelson, M.: Data compression with the Burrows-Wheeler transform. Dr. Dobb’s Journal, 9 (1996)Google Scholar
  13. 13.
  14. 14.
    Seward, J.: Space-time tradeoffs in the inverse B-W transform. In: Proc. IEEE Data Compression Conference (DCC 2001), pp. 439–448 (2001)Google Scholar
  15. 15.
    Witten, I.H., Bell, T.C.: The Calgary Text Compression Corpus. Available via anonymous ftp at:

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Ulrich Lauther
    • 1
  • Tamás Lukovszki
    • 1
  1. 1.Siemens AG, Corporate TechnologyMunichGermany

Personalised recommendations