14信管数据结构课程设计报告模版资料Word文档格式.docx
- 文档编号:20166735
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:10
- 大小:130.13KB
14信管数据结构课程设计报告模版资料Word文档格式.docx
《14信管数据结构课程设计报告模版资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《14信管数据结构课程设计报告模版资料Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
01
学习态度
6
遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。
02
科学实践、调研
7
通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。
03
课题工作量
按期圆满完成规定的任务,工作量饱满。
能力
水平
35%
04
综合运用知识的能力
10
能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。
05
应用文献的能力
5
能独立查阅相关文献和从事其他调研;
能提出并较好地论述课题的实施方案;
有收集、加工各种信息及获取新知识的能力。
06
设计(实验)能力,方案的设计能力
能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;
研究思路清晰、完整。
07
计算及计算机应用能力
具有较强的数据运算与处理能力;
能运用计算机进行资料搜集、加工、处理和辅助设计等。
08
对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)
具有较强的数据收集、分析、处理、综合的能力。
成果
质量
45%
09
插图(或图纸)质量、篇幅、设计(论文)规范化程度
符合本专业相关规范或规定要求;
规范化符合本文件第五条要求。
设计说明书(论文)质量
30
综述简练完整,有见解;
立论正确,论述充分,结论严谨合理;
实验正确,分析处理科学。
11
创新
对前人工作有改进或突破,或有独特见解。
成绩
指导教师评语
指导教师签名:
年 月 日
目录
1.方案设计2
1.1问题描述2
1.2需求分析2
1.3概要设计3
2.数据结构设计4
3.算法设计6
3.1设计思想6
3.2设计关键算法6
4.调试分析8
4.1、测试及结果8
5.总结10
参考文献11
程序清单12
1.方案设计
1.1问题描述
【哈夫曼编码与译码】
从某文本文件中统计其中字符使用频率(该文件由英语字母、标点和空格构成),建立对应的哈夫曼树,设计哈夫曼编码与译码方案,将该文本文件按此哈夫曼编码压缩存储,计算压缩比。
再编写程序将压缩文件解压为原文件。
1.2需求分析
核心问题:
哈夫曼树及其应用
一、哈夫曼编码
输入:
字符串形式的源文件路径及文件名(如:
“F:
/mydoc.txt”)
输出:
采用哈夫曼编码表示的源文件内容写入目标文件。
二、哈夫曼译码
输入:
字符串形式的哈夫曼编码文件路径及文件名
输出:
解压缩后的原文件
1.4概要设计
图1.1
1、读文件
字符串形式的源文件路径及文件名(如:
字符串形式的源文件内容
2、编码
设计编码表的存储结构,易于将整个内容字符串进行编码。
设计哈夫曼树的存储结构,考虑易于构造、易于编码、空间利用率高。
设计适当的存储结构表示各字符出现的频率(适合构造哈夫曼树)如:
二元组、二维数组、链表
“广东工业大学”返回编码后的字符串,形式为"
010111101100....."
3、写文件
编码后得到的byte数组
写入目标文件
二、哈夫曼译码(略)
2.数据结构设计
一、存储各字符出现频率的统计表
字符
中
A
C
国
,
……
频率
0.02
0.11
0.2
0.01
publicclassCountChar{
publiccharch;
publicdoubleweight;
publicStringtoString(){
return"
字符:
"
+ch+"
\t权重:
+weight;
}
}
CountChar[]cc;
//采用二元组存储字符出现频率统计表
二、存储哈夫曼树
参见教材P168图6.32
增加一个字符型成员变量记录对应的字符
publicclassHuffmanNode{
charch;
doubleweight;
intparent,left,right;
权值:
+weight+"
left:
+left+"
right"
+right+"
parent"
+parent;
三、存储编码表
110
3.详细设计
3.1类的设计
一、读文件和写文件可以作为静态方法定义在一个类中(FileIO)无成员变量
1.publicstaticStringreadFile(Stringfilepath)//读文件的方法
2.publicstaticvoidsaveFile(byte[]huffb,intlen)//写文件的方法
二、哈夫曼编码类(HuffmanCode)
成员变量:
1.内容字符串StringfileStr;
2.字符频率统计表CountChar[]cc;
3.哈夫曼树HuffmanNode[]huffman;
4.编码表String[]hcode;
……
构造方法:
publicHuffmanCode(Stringstr)
成员方法:
1.publicvoidcountChars()//统计字符出现频率
2.publicvoidHuffmanTree()//构造哈夫曼树的方法
3.publicvoidhCode()//实现内容字符串的编码
…………
3.2设计关键算法
如:
publicvoidcountChars()
1、建立一个ArrayList<
CountChar>
对象
2、扫描内容字符串fileStr直到末尾(外循环)
2.1将从fileStr中取出的字符和ArrayList中的字符比较
没有:
加入该字符入ArrayList,weight=1;
有:
将对应字符的weight++;
3、将各字符的weight除以字符总数得到该字符的出现频率,存入weight中。
4、把ArrayList转换为CountChar类型数组,赋给成员变量cc。
…………
其他(略)
4.调试分析
4.1、测试及结果
(截屏并说明)
5.总结
附页一
程序清单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 14 数据结构 课程设计 报告 模版 资料