Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Burrows-Wheeler Transform Algorithm

String Algorithm

The Burrows-Wheeler transform rearranges the characters of a string into runs of similar characters by forming every cyclic rotation of the string, sorting those rotations lexicographically, and taking the last column of the resulting sorted arrangement as the transformed output, a process that is reversible given the original string's position among the sorted rotations. Because the transform tends to group identical or similar characters together, the transformed output typically compresses far better with simple techniques such as run-length encoding than the original string does. Michael Burrows and David Wheeler described the transform in a 1994 technical report, and it underlies the bzip2 compression program and file-indexing structures such as the FM-index used in DNA sequence alignment tools.

Facts
Time Complexity
Linear time when implemented with a suffix array 1
Credited To
David Wheeler (invented 1983); Michael Burrows and David Wheeler (published 1994) 1
Sources
1. Burrows-Wheeler transform, Wikipedia
  • Introduction, sentence on efficient implementation
    The algorithm can be implemented efficiently using a suffix array thus reaching linear time complexity.
  • Introduction, sentence on invention and publication
    It was invented by David Wheeler in 1983, and later published by him and Michael Burrows in 1994.
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.