吉林工业职业技术学院 数据结构实训
符信息进行编码,然后进行发送,接收后将传来的数据进行译码,即将信息还原成发送前的字符信息。
【要 求】发送功能:输入待传送字符信息;统计字符信息中各字符出现的种类和频率;根据各字符出现的种类和频率建立哈夫曼树;利用该哈夫曼树求出各字符的编码;将字符信息转换成对应的编码信息进行传送。接收功能:接收发送者发来的编码信息;利用哈夫曼树对编码信息进行翻译还原成发送前的字符信息。
二、选题方式
本次实训共分为16个题目,其中10个单项题目、6个综合题目。单项题目每人1个,每个题目最多有3-4人选择;综合题目以小组的形式进行,共6组,每4人为一组。附加题目每个人或小组均可以选定。适当根据完成情况适当加分。
三、实训报告
1. 实训项目:实训题目及问题描述
2. 实训目的:通过完成本实训项目,使学生掌握了什么知识,培养了什么能力,得到了什么提高。
3. 设计分析:得出解决问题的思路、主要流程、采用的数据结构类型的说明、主要算法的思想。设计方案:采用的数据结构类型的定义、主要算法的描述及说明。
4. 详细设计:项目实现的源程序清单,包括自定义函数的详细注释、关键语句说明。
5. 用户手册:程序使用说明书,说明如何使用此程序,详细列出每一步的操作步骤。
6. 运行调试:例举调试过程中用到的不同的输入数据,以及得到的不同的测试结果。在调试过程中遇到的主要问题及解决方法。
7. 实训心得:利用程序设计基础知识和数据结构知识来解决本项目实践的体会,对设计的经验总结及改进思想。
四、注意事项
1、程序要具有良好的可读性
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现死循环。
6
吉林工业职业技术学院 数据结构实训
2、涉及多个功能采用菜单程序
最后提供的主程序可以像一个应用系统一样有主窗口,通过主菜单和分级菜单调用实训中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能。
五、实训结束后应提交的内容 1.一个报告
实训报告:包括实训题目、实训目的、问题描述、设计分析、设计方案、编写程序、调试程序、测试程序、使用说明、实训心得。
要求:A4纸,打印稿,页边距:上、下、左、右均为2.5cm,有页码。具体参见样本。
2.四个文件
四个文件:源代码文本文件(*.txt),源代码程序文件(*.c或*. cpp),源代码可执行文件(*.exe),实训报告文件(*.doc)。
文件名命名规则:cx××××.txt,cx××××.c,cx××××.exe,bg××××.doc。cx表示程序,bg表示报告。左侧两个“××”表示两位学号(01-45),第3个“×”表示单项题目还是综合题目(单项为0,综合为1),右侧“×”表示题号(0-9)。
个人文件放在一个文件夹内,文件夹命名规则:jsj××姓名(wl××姓名),“××”表示两位学号(01-45)。例如:jsj表示计算机。
小组文件放在一个文件夹内,文件夹命名规则:jsj3111***。 六、参考文献
[1] c语言程序设计基础与应用 李铮 清华大学出版社 [2] 数据结构(c语言描述) 刘怀亮 冶金工业出版社 [3] 数据结构(c/c++版)杨正宏 清华大学出版社 [4] 闵敏. 数据结构. 高等教育出版社
[5] 严蔚敏. 数据结构—C语言. 清华大学出版社 [6] 杨秀金. 数据结构. 西安电子科技大学出版社 [7] 李春葆. 数据结构习题与解析. 清华大学出版 [8] 谭浩强. C程序设计. 清华大学出版
7