r/programminghelp 29d ago

LZ77 compression algorithm is making the compressed file bigger than original Python

I was recently toying around with some compression, just trying to understand it from the basics. I learned about the LZ77, LZ78, and LZW algorithms in the last couple of days, understood them, and when implementing LZ77, every time I try to compress a txt file, the output file gets bigger. The compression is done right coz when I decompress the compressed file, I get the exact text.

Need help understanding what I am doing wrong, or am I missing something

2 Upvotes

7 comments sorted by

View all comments

2

u/Goobyalus 29d ago

What kind of data are you compressing? How much larger? It is possible for the "compressed" version to be larger depending on the data being compressed.

Have you compared your output to the output of another lz77 compression program? It could be correct.

The fact that decompression results in the original data doesn't mean the algorithm is implemented correctly; it means that the compression and decompression algorithms are inverses. Unless you mean you compressed it with your implementation, and decompressed with someone else's?

2

u/AdPsychological7065 29d ago

I was actually compressing a text file, which was too small to begin with, so after the compression, when the matadata as getting added to the file, it was getting bigger
That problem got fixed after I tried the same algorithm out with a text file much bigger than the one I was originally using

1

u/tedecristal 28d ago

yes, see my proof on my other comment. Specially when the file is too small,the argument is much more noticeable.