This archive contains *basic* implementations of the following algorithms: /* (1) Run-Length Encoding (RLE) (gtrle32.c and gtrle35.c); (2) Shannon-Fano Coding (gtsf.c and gtsfd.c); (3) Static Huffman Coding (gthc.c and gthd.c); (4) Dynamic Huffman coding-Algorithm FGK (fgkc.c and fgkd.c); (5) Dynamic Huffman coding II-Algorithm Vitter (vitc.c and vitd.c); (6) Run-Length Transform (RLT, a zero-order MTF) (gtrlt.c); (7) Move-To-Front Coding (MTF) (gtmtf.c); (8) Burrows-Wheeler Transform (BWT) (gtbwt5.c and gtbwtd5.c); (9) Lempel-Ziv algorithm (LZ77) ( gtlz772.c gtlz772d.c [basic LZ77/LZSS implementation]; gtlz77hc.c gtlz77hd.c [basic LZ77/LZSS + Huffman]; lzh.c and lzhd.c [2-byte hash]; lzhh.c and lzhhx.c [2-byte hash plus Huffman] ); and */ (10) Lempel-Ziv-Welch (LZW) ( gtlzw91.c and gtlzw91d.c [using a TST]; lzwh.c and lzwhd.c [using LZC hashing]; lzwgt.c and lzwgtd.c [using a Binary Search Tree]; lzwg.c and lzwgd.c [using a Binary Search Tree]; lzwhc.c [using LZC hashing, a single file codec]; lzwz.c [using LZC hashing, a single file codec, option to reset dictionary] ). Notes: For personal, academic, and research purposes only. Freely distributable. -- Gerald R. Tamayo, BSIE(Mapua I.T.) Philippines
grtamayo/LZW-Algorithm
C implementations of the Lempel-Ziv-Welch (LZW) algorithm. Lzwg features optional bitsize (default=16) of dictionary string table size (default=65536). Lzwhc is a single file codec, via faster hashing. Note: lzwg uses maximum 1.7GB+ RAM and lzwhc uses maximum 2.4GB+ RAM @ 28-bit dictionary!
C