The implementation of various compression techniques.
Hello all the readers, this is my new repository which consists of the implementation of the various data compression techniques that I'll be learning in the upcoming months.
I like to code in Python, so every code that I'll put up here will be in python (sorry if you don't code in python, but can't help it๐). Anyways, along the time when I'll be commiting more such techniques after implementing them, I'll update this section with the contents.
The subfolders carry the name of the technique and within each subfolder there is the code. Very soon, I'll be adding a separate readme for each of the methods along with code snippets and proper explanation. To understand this, one must have a little knowledge about python lists, strings, and some modular in-built functions in python (this may change upon the context of my learning and my ability to make the code more efficient).
This repository will be updated every one or two weeks.
Till date (15/11/2020), most of the techniques I've learnt over till now, consists of losless compression techniques and most of them are used to encode strings. The same can be used for text files, with minor modification requirements. All the files consists of the decoding part as well. The techniques are:
- Huffman Coding
- Run Length Encoding
2.1. For alphabet runs
2.2. For binary runs - Golomb Coding
- Tunstall Coding
- Arithmetic Coding
- Dictionary Techniques
6.1. LZ77
6.2. LZ78
6.3. LZW