Definition: Permute a string. Repeated substrings lead to repeated characters in the permuted string, which is easier to compress. Knowing which character was last in the original string, the original can be reconstructed from the rearranged string.
Also known as BWT.
Aggregate child (... is a part of or used in me.)
The transform may be defined in relation to the suffix array as follows. The result is an array BWT such that
BWT[i] = T[SA[i]-1], if SA[i] > 1, otherwise $
where T is the original string, i goes from 1 (1-based indexing) to the length of T, SA is the suffix array of T, and $ is the special character indicating the end of string.
Burrows-Wheeler transform [Wikipedia].
Michael Burrows and David J. Wheeler, A Block-sorting Lossless Data Compression Algorithm, Research Report SRC-124, Digital Equipment Corporation, Palo Alto, California, May 1994.
This transform is algorithm C in the paper.
If you have suggestions, corrections, or comments, please get in touch with Paul Black.
Entry modified 5 December 2016.
HTML page formatted Fri Feb 23 10:06:07 2018.
Cite this as:
Paul E. Black, "Burrows-Wheeler transform", in Dictionary of Algorithms and Data Structures [online], Vreda Pieterse and Paul E. Black, eds. 5 December 2016. (accessed TODAY) Available from: https://www.nist.gov/dads/HTML/burrowsWheelerTransform.html