This tool written in C is a simple compression tool inspired in https://codingchallenges.fyi/challenges/challenge-huffman/
- Huffman encode and decode implementation
- Bits manipulation for compact storage
- Handling of UTF-8 characters.
- Binary tree is used to build Huffman tree
- Priority queue is implemented to select nodes with minor frequency.
- Hash table is used to storage and search characters prefix code quickly.
- Clone repo
git clone git@github.com:berracode/compression_tool_in_c.git
cd compression_tool_in_c
- Compile project using make
make
./cpress compress /path/to/plain.txt /path/to/compressed.bin
./cpress decompress /path/to/compressed.bin /path/to/plain.text
valgrind --leak-check=full --track-origins=yes ./cpress compress ./test_files/victor.txt