Huffman:用c实现文件压缩和解压的霍夫曼编码算法

上传者: 42171208 | 上传时间: 2022-09-26 10:56:03 | 文件大小: 48KB | 文件类型: ZIP
C
哈 该程序用于压缩或解压缩文件。 源代码以 API 风格构建,然后您可以使用 Huffman 编码轻松编写自己的压缩工具。 程序说明 ha使用技术压缩(和解压缩)文件。 输入文件被分成名为block的常规块,这个块有一个固定大小的block-size ,默认为10MB。 压缩率本身并不是很好,因为与bzip2或xz等其他工具相比,仅使用 Huffman 代码并不是很有效。 由于霍夫曼代码本身的性质,最小压缩大小是原始输入大小的八分之一,但这仅在您的文件包含相同字符时追加。 这个程序的优点是它的速度: 它是使用 pthread API 的多线程 霍夫曼码很容易计算 程序使用 ha input_filename -o output_filename 这只是一个基本用法示例,但您可以通过键入ha -h来查看所有选项。 使用此命令行,您将使用 10MB 的块大小、100MB 的最大内存使用量和

文件下载

资源详情

[{"title":"( 47 个子文件 48KB ) Huffman:用c实现文件压缩和解压的霍夫曼编码算法","children":[{"title":"Huffman-master","children":[{"title":".gitignore <span style='color:#111;'> 271B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 4.19KB </span>","children":null,"spread":false},{"title":"CHANGELOG.md <span style='color:#111;'> 276B </span>","children":null,"spread":false},{"title":"benchmark.sh <span style='color:#111;'> 3.64KB </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 17.60KB </span>","children":null,"spread":false},{"title":"include","children":[{"title":"crc","children":[{"title":"crc32.h <span style='color:#111;'> 516B </span>","children":null,"spread":false}],"spread":true},{"title":"thread_pool","children":[{"title":"syncqueue.h <span style='color:#111;'> 835B </span>","children":null,"spread":false},{"title":"thread.h <span style='color:#111;'> 780B </span>","children":null,"spread":false},{"title":"future.h <span style='color:#111;'> 797B </span>","children":null,"spread":false},{"title":"pool.h <span style='color:#111;'> 735B </span>","children":null,"spread":false},{"title":"queue.h <span style='color:#111;'> 995B </span>","children":null,"spread":false}],"spread":true},{"title":"parse_arg","children":[{"title":"parse_long_opt.h <span style='color:#111;'> 590B </span>","children":null,"spread":false},{"title":"parse_error.h <span style='color:#111;'> 833B </span>","children":null,"spread":false},{"title":"parse_arg.h <span style='color:#111;'> 789B </span>","children":null,"spread":false},{"title":"parse_short_opt.h <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"huffman_tree","children":[{"title":"huffman.h <span style='color:#111;'> 555B </span>","children":null,"spread":false},{"title":"huffmantree.h <span style='color:#111;'> 720B </span>","children":null,"spread":false},{"title":"huffmannode.h <span style='color:#111;'> 594B </span>","children":null,"spread":false}],"spread":true},{"title":"io_operation.h <span style='color:#111;'> 675B </span>","children":null,"spread":false},{"title":"compression","children":[{"title":"compression_threaded.h <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false},{"title":"compression.h <span style='color:#111;'> 584B </span>","children":null,"spread":false}],"spread":true},{"title":"decompression","children":[{"title":"decompression.h <span style='color:#111;'> 451B </span>","children":null,"spread":false},{"title":"decompression_threaded.h <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false}],"spread":true},{"title":"header","children":[{"title":"header.h <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false}],"spread":false},{"title":"arg_callback.h <span style='color:#111;'> 865B </span>","children":null,"spread":false}],"spread":true},{"title":"src","children":[{"title":"main.c <span style='color:#111;'> 11.40KB </span>","children":null,"spread":false},{"title":"io_operation.c <span style='color:#111;'> 3.54KB </span>","children":null,"spread":false},{"title":"crc","children":[{"title":"crc32.c <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false}],"spread":true},{"title":"thread_pool","children":[{"title":"future.c <span style='color:#111;'> 1.71KB </span>","children":null,"spread":false},{"title":"queue.c <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false},{"title":"syncqueue.c <span style='color:#111;'> 2.35KB </span>","children":null,"spread":false},{"title":"pool.c <span style='color:#111;'> 2.69KB </span>","children":null,"spread":false},{"title":"thread.c <span style='color:#111;'> 1.96KB </span>","children":null,"spread":false}],"spread":true},{"title":"arg_callback.c <span style='color:#111;'> 4.54KB </span>","children":null,"spread":false},{"title":"parse_arg","children":[{"title":"parse_long_opt.c <span style='color:#111;'> 3.06KB </span>","children":null,"spread":false},{"title":"parse_short_opt.c <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false},{"title":"parse_arg.c <span style='color:#111;'> 3.89KB </span>","children":null,"spread":false},{"title":"parse_error.c <span style='color:#111;'> 902B </span>","children":null,"spread":false}],"spread":true},{"title":"huffman_tree","children":[{"title":"huffman.c <span style='color:#111;'> 4.01KB </span>","children":null,"spread":false},{"title":"huffmantree.c <span style='color:#111;'> 971B </span>","children":null,"spread":false},{"title":"huffmannode.c <span style='color:#111;'> 584B </span>","children":null,"spread":false}],"spread":false},{"title":"compression","children":[{"title":"compression.c <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"compression_threaded.c <span style='color:#111;'> 4.78KB </span>","children":null,"spread":false}],"spread":false},{"title":"decompression","children":[{"title":"decompression.c <span style='color:#111;'> 792B </span>","children":null,"spread":false},{"title":"decompression_threaded.c <span style='color:#111;'> 5.03KB </span>","children":null,"spread":false}],"spread":false},{"title":"header","children":[{"title":"header.c <span style='color:#111;'> 3.76KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"Makefile <span style='color:#111;'> 1.70KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明