- 5
- 0
- 约7.9千字
- 约 13页
- 2019-03-06 发布于浙江
- 举报
长 春 大 学
课 程 设 计 说 明 书
题目名称 哈夫曼编码/ 译码器
院(系) 计算机科学与技术
专业(班级) 网络五班
学生姓名 董迎顺
指导教师 朱德新
起止日期 2015.9.7-2015.9.11
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc429730717 1.设计目的与任务 PAGEREF _Toc429730717 \h 1
HYPERLINK \l _Toc429730718 2.算法设计 PAGEREF _Toc429730718 \h 3
HYPERLINK \l _Toc429730719 2.1设计思想 PAGEREF _Toc429730719 \h 3
HYPERLINK \l _Toc429730720 2.2设计表示 PAGEREF _Toc429730720 \h 3
HYPERLINK \l _Toc429730721 3.用户手册 PAGEREF _Toc429730721 \h 4
HYPERLINK \l _Toc429730722 4.测试数据及测试结果 PAGEREF _Toc429730722 \h 5
HYPERLINK \l _Toc429730723 5.课程设计总结 PAGEREF _Toc429730723 \h 9
HYPERLINK \l _Toc429730724 程序清单 PAGEREF _Toc429730724 \h 9
1.设计目的与任务
1.1设计目的:
(1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计力;
(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
(3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;(4)训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所具备的科学的工作方法和作风。
1.2 设计任务:
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,
直到选择退出为止。
2.算法设计
2.1设计思想
(1)数据结构设计
对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构
为中心的原则划分模块,定义主程序模块和各抽象数据类型。
本程序定义了相应的结构体变量,包括weight权值,parent双亲结点,lchild左孩子,rchild右孩子。通过结构体构建哈夫曼树,实现哈夫曼的编码和译码功能。
结构体变量如下:
typedef struct//结构体
{
char data;
int weight; //权值
int parent;//双亲结点
int lchild;//左孩子
int rchild;右孩子
}HTNode;
HTNode ht[80];
功能:该结构体储存相关数据包括输入的权值weight,构建哈夫曼树所需要的双亲parent,左孩子lchild,右孩子rchild。同时建立结构体数组HTNode ht[80];
typedef struct
{
char cd[30]; //字符串
int start;
}
HCode;
HCode hcd[80];
功能:该结构体储存输入的字符。
(2)算法设计
本程序在运行过程中用到的算法是哈弗曼算法,它是由n个带权叶子结点构成的所有二叉树中带权路径长度最短的二叉树,根据给定的n个权值构成n棵二叉树的集合,其中每棵二叉树中只有一个带权weight的根结点,左右子树均空,选择两棵根结点权值最小的树作为左右子树构造一棵新的二叉树,且至新的二叉树的根结点的权值为其左右子树上根结点的权值之和,即为哈夫曼树算法。本程序先定义结构体,通过创建哈弗曼树,对输入的字符进行编码和译码。
2.2设计表示
(1)函数调用关系图及其说明如下:
哈夫曼编/译码器
哈夫曼编/译码器
主函数main()
初始化哈弗曼树
初始化哈弗曼树CreateHT()
输入CodeInput()显示哈夫曼树
输入
CodeInput()
显示哈夫曼树
Shuchu()
哈夫曼编码
CreateHCode()
保存save()
保存save()
结束
结束
exit()
(2)函数接口说明:
函数中的参数均是使用的全局变量的传递,因而在函数间进行传递的过程
中比较简单,下面就将主要函数及他们之间的参数的关系列出如下:
void CodeInput(int n,HTNode ht[])/
您可能关注的文档
- 运动训练适应理论与实践20110417.pptx
- 运算能力直接关系到解题速度和正确率.doc
- 仔猪腹泻原因与防治措施.pptx
- 仔猪水肿病诊治.doc
- 在2009年全省电大教学工作会上讲话【精品PPT】.ppt
- 在创新中展现自我,在反思中提升进步——XX市教学能手课堂教学比赛听后感.doc
- 在华举办国际会议申报表一、二中文.doc
- 在教学中架设一条通向知识彼岸桥梁.doc
- 在农业行政执法工作会议上讲话.doc
- 在桥梁施工新技术经验交流会上讲话.doc
- 2025年新外研版三年级上册英语同步教学课件.pptx
- 红十字会大讲堂管理制度.docx
- 技术奇点(Singularity)理论的科学基础、哲学思辨与未来社会构想 _2026年1月.docx
- 公共艺术项目在激活城市消极空间(如高架桥下、废弃铁轨)中的作用 _2026年1月.docx
- “双减”政策对校外培训行业转型及家庭教育投入变化的影响 _2026年1月.docx
- Z世代员工对职场“摸鱼文化”的态度成因与管理对策研究 _2026年1月.docx
- 跨文化团队管理中的沟通障碍、文化冲突与融合策略案例分析 _2026年1月.docx
- 共享经济平台将劳动者归类为“合作伙伴”的伦理与法律责任 _2026年1月.docx
- 大型国际展会(如进博会、CES)的绿色会展实践与可持续发展评估 _2026年1月.docx
- 地理标识产品(如阳澄湖大闸蟹)与产地旅游的融合发展研究 _2026年1月.docx
原创力文档

文档评论(0)