.Z, .zip, .7z, .gz, .xz, .bz2. Of course, many use LZ77 or LZMA, LZ stands for Lempel–Ziv, but only the Z remained in the format.
.Z, .zip, .7z, .gz, .xz, .bz2. Of course, many use LZ77 or LZMA, LZ stands for Lempel–Ziv, but only the Z remained in the format.
(To be even more pedantic, all modern algorithms are descendants of LZSS, which was one of the first improvements on LZ77.)
Out of the ones you listed, only .Z and .bz2 are not LZ77-LZSS descendants.
.Z is an implementation of LZW, which is a descendant of LZ78, which is a significantly different (but still related) algorithm to LZ77. It never really caught on beyond a few implementations of LZW, though.
.bz2 is the only one completely unrelated to Ziv's work. It uses the Burrows-Wheeler transform, instead.
.Z was used for compress(1), probably because pack(1) used .z, but where did that come from?
My best theory is that it's from Steve Zucker who wrote pack(1) at RAND. There were other versions of pack(1) too, but if his was the first, it seems possible that he choose the z extension for Zucker.
Does anyone have more info or other theories?
EDIT: wikipedia says it did but changed to use Huffman encoding due to patents? But those patents have expired.