Skip to content

My implementation of the BZip2 algorithm in C++ with a linearithmic time Burrows-Wheeler transform algorithm. Developed based on the notes I took on the BZip2 algorithm while studying CS240 at the University of Waterloo.

License

Notifications You must be signed in to change notification settings

mjhough/bzip2-hough

Repository files navigation

Matthew Hough's version of BZip2

My implementation of the BZip2 algorithm in C++ with a linearithmic time Burrows-Wheeler transform algorithm. Developed based on the notes I took on the BZip2 algorithm while studying CS240 at the University of Waterloo.

Development progress

Encoding

  • Burrows-Wheeler transform
  • Move-to-front transform
  • Run-length encoding
  • Huffman encoding

Decoding

  • Huffman encoding
  • Run-length encoding
  • Move-to-front transform
  • Burrows-Wheeler transform

Instructions

Run make to compile the program. Then run ./bzip2-hough to run the program. It will ask you to input the string you want to run bzip2 on. When you do so and hit enter, you should see the output of each stage of the bzip2 algorithm.

Algorithm explanation

Coming soon...

About

My implementation of the BZip2 algorithm in C++ with a linearithmic time Burrows-Wheeler transform algorithm. Developed based on the notes I took on the BZip2 algorithm while studying CS240 at the University of Waterloo.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published