- 10
- 0
- 约13.72万字
- 约 24页
- 2017-02-15 发布于河南
- 举报
数据结构实习报告
数据结构实习报告
姓名:吴加剑
班级:114102
学号:20101000094
学院:信息工程学院
第一题:软件压缩/解压缩软件 Szip(Huffman算法及应用)
一.需求规格说明:
问题:利用哈夫曼编码进行对已经存在的文件进行重新编码,也就是压缩,然后再对该文件进行解码,即解压。
二.总体分析与设计
设计思想:
存储结构主要是采取动态分配内存的方法用数组进行存储,在进行压缩的时候写进文件的表头是自己定义的结构体,我把码长在0-8之间,8-16之间,16-32之间的分别定义了结构体,这三种结构体都具备data(即ASCII码值),码长,不同的是记录哈夫曼编码的指针类型,根据码长的不同指针类型分别为BYTE类型,WORD类型, unsigned int类型。主要的算法思想是Huffman算法思想和移位,拼接
设计表示:我设计的是先读出需要压缩的文件,然后利用哈弗曼将其重新编码从而达到压缩的目的,解压缩则刚好相反。
详细设计表示:
主要算法框架是:先读一遍文件,统计出每个ASCII码值的频率,并将不为0的频率当作参数来建立Huffman树,然后获得他们的Huffman编码,码长和ASCII值,把码长在0-8之间的写在一起,8-16之间的写在一起,16-32之间的写在一起,然后写进文件,这就是表头。然后再读一遍原文件,一个字节一个字节的读,然后将他们拼成32位写进一个新的文件,
原创力文档

文档评论(0)