Open edw4rdyao opened 4 years ago
可以的 其实这个Huffman算法很耗时,效率并不很高,你可以了解一下范式Huffman算法的原理。这个算法相比来说主要优势就是在解压缩期间。LZ77的话暂时没有改进的思路~~~
可以的 其实这个Huffman算法很耗时,效率并不很高,你可以了解一下范式Huffman算法的原理。这个算法相比来说主要优势就是在解压缩期间。LZ77的话暂时没有改进的思路~~~ 嗯,谢谢☺ 我只是发现LZ77算法的解压缩过程的下面这一个部分耗时比较长,正在想其他比较快速的方法😀:
if (chFlag & 0x80)
{
// 距离长度对
USH matchLength = fgetc(fIN) + 3;
USH matchDistance = 0;
fread(&matchDistance, sizeof(matchDistance), 1, fIN);
// 清空缓冲区:系统会将缓冲区中的数据写入到文件中
fflush(fOUT);
// 更新已经解码字节数大小
encodeCount += matchLength;
//移动文件指针至匹配字符处
fseek(fOutIn, 0 - matchDistance, SEEK_END);
//写入匹配的字符
for (size_t i = 0; i < matchLength; i++) {
fputc((fflush(fOUT), fgetc(fOutIn)), fOUT);
}
}
请问解压缩过程可以优化吗
可以看看我最近写的,欢迎测试。https://github.com/yangyongkang2000/C-Programming/tree/master/Huffman/Huffman
请问解压缩过程可以优化吗