您当前的位置:首页 > 计算机 > 编程开发 > C语言

霍夫曼编码的接口与实现

时间:12-30来源:作者:点击数:

霍夫曼编码的接口

1) huffman_compress

int huffman_compress(const unsigned char *original, unsigned char **compressed, int size);

返回值:如果压缩数据成功,返回压缩后数据的字节数,否则,返回-1。

描述:用霍夫曼编码的方法压缩缓冲区original中的数据,包含size字节的空间。压缩后的数据存入缓冲区compressed中。由于函数调用者并不知道compressed需要多大的存储空间,因此要通过huffman_compress函数调用malloc来动态地分配存储空间。当这块存储空间不再使用时,由调用者调用函数free来释放空间。

复杂度:O(n),其中n是原始数据中符号的个数。

2) huffman_uncompress

int huffman_uncompress(const unsigned char *compressed, unsigned char *original);

返回值:如果解压缩数据成功,返回恢复后数据的字节数,否则,返回-1。

描述:用霍夫曼编码的方法解压缩缓冲区compressed中的数据。假定缓冲区包含的数据是由huffman_compress压缩产生的,恢复后的数据存入缓冲区original中。由干函数调用者并不知道original需要多大的存储空间,因此要通过huffman_uncompress函数调用malloc来动态地分配存储空间。当这块存储空间不再使用时,由调用者调用函数free来释放空间。

复杂度:O(n),其中n是原始数据中符号的个数。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门