I'm reading Haruhiko Okumura's LZSS implementation and I cannot understand how the tree is working. It looks like neither a trie nor other search trees. Do anyone know what the tree is?
I've implement my version using a hash map as the dictionary. But it's much slower than Haruhiko Okumura's.
Haruhiko Okumura's implementation is here: LZ_C.ZIP - \LZSS.C - Data compressing algorithms LZARI/LZSS/LZHUF - H.Okumura (asm)