武汉理工大学数据结构与算法综合实验哈夫曼树 (1)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生学号Xxx 实验课成绩

学生实验报告书

实验课程名称数据结构与算法综合实验开课学院计算机科学与技术学院指导教师姓名xxx

学生姓名xxx

学生专业班级xxxx

2015-- 2016学年第 2 学期

实验课程名称:数据结构与算法综合实验

调试主要内容为编写程序的语法正确性与否,程序逻辑的正确性与否。调试手段主要采用了Microsoft Visual Studio 2010集成开发环境中“调试(D)”菜单中的调试方法或手段。即:F5:启动调试;F11:逐语句调试;F12:逐过程调试;F9:切换断点;ctrl+B:新建断点等。

例如在统计图片文件中0-255取值的256个字节出现的次数函数中,设置断点并使用简单的文本文件进行测试,发现了“没有扫描完整个文件而是中途跳出”的问题。通过断点出查看weight数组的值以及通过逐语句跳出的处定位错误所在之处。找出问题的原因是以流的形式读入的字符定义问题,char ch;ch=fgetc(in);

Weight[ch]++;字符变量ch在转换成int时出现了负数。当将ch的定义修改Unsigned char ch;问题解决。

再例:文件编码压缩Encode()函数会产生编码后的一个缓冲区char *pBuffer;写文件函数会使用它直接写磁盘文件。调试过程中并没发现任何问题,就是不能成功地写后缀为.huf的文件。在相关函数中设置断点,观察缓冲区的情况,且编写屏幕输出缓冲区数据的程序段,发现缓冲区是空的。通过在Encode函数中以及WriteFile函数中做同样的跟踪调试,发现在Encode函数中建立的缓冲区数据并没有带出来,通过分析发现是缓冲区空间构建位置的问题,即不能放在Encode函数中。

三、软件测试(测试效果.界面、综合分析和结论)

1.测试效果.界面

2.综合分析和结论

试验在压缩txt文件的时候没有问题,可以通过编译生成可执行文件,但是在进行图片的压缩时出了问题,导致程序出错,所以我编写的哈夫曼树压缩文件不能正确压缩图片。

第三部分:实验小结、收获与体会

通过这次试验,我对Huffman树的创建和Huffman编码的产生有了更深的理解,同时对于文件的压缩有了更进一步的认识也更加理解了数据结构在实际应用中的作用。

通过本次试验也使我感到自身编程能力的欠缺,在数据结构课程的学习中还有很多知识没有熟练掌握,动手能力不强,在以后的学习中要不断加强知识的积累,提高自己的动手能力,

相关文档
最新文档