- 31
- 0
- 约8.54千字
- 约 15页
- 2017-09-07 发布于陕西
- 举报
成都电子机械高等专科学校
专周报告
课程名称 数据结构 设计题目 哈夫曼树编码与译码 班级 10531 学号 02 姓名 宋美 指导老师 杨勇 完成时间 2011-5-30至2011-6-3
成都电子机械高等专科学校计算机工程系
目 录
1. 专周题目与要求 1
2. 设计与实现 1
3. 专周小结 4. 参考文献 报告正文
注:以下所列内容报告中都应包括,可以根据实际情况扩充。二级及以上标题自己设计,标题最多列至4级
专周题目与要求
专周题目:哈夫曼编码与译码
专周要求:
1.由用户输入一段文章或从文件中读入(英文),计算机自动统计出文章中各单词出现的频率,以此为依据对该文章进行哈夫曼编码(即频率为权值)。
2.对编码后的文章要输出到指定的文件,文件的开始位置给出编码表。第二行开始为编码的正文。
3.对给定的编码文章进行译码,把译码后的结果显示出来,或输出到文本文件。
编程要点:
1).有序表的建立与操作,二叉树森林是一有序表的形式存储的。
2).哈夫曼编码,见教材相关部分。
3) 哈夫曼译码,把编码表提取出来创建一棵编码二叉树。
设计与实现
内容包括:输入一篇英文文章,统计该文章中每个单词出现的次数,然后以它们作为权值,对每一个单词进行编码,编码完成后再对其编码进行译码,提取创建一棵编码二叉树并以有序表的形式存储。
1. 从键盘输入一段英语文章;
2. 统计这篇文章中的每个单词出现的次数;
3. 以单词出现次数作为权值,构建哈夫曼树,并创建一棵编码二叉树以二叉树的形式存储;
4. 对每个单词进行编码并将编码进行破译。
设计思路:1、创建一个工程Win32 Console Application,将函数体得实现存放于一个.c文件中,再创建一个.h文件用于存放所用的函数体以及一个总函数.c。
2、首先建立一个有序表,用于存放编码后的二叉树。
3、然后,将用户输入的英文文章的每个单词的频率计算出来作为权值。
4、编写哈夫曼树的初始化,建立,以及编码和译码。
关键技术和解决方案(关键代码,关键算法)
1.OrderList.c
include OrderList.h
#include stdio.h
#includestring.h
#includeiostream.h
/*初始化有序表*/
void InitiList(OrderList* list)
{
list-ListLen = 0;
list-Compare = NULL;
list-Vist = NULL;
}
//====================================================//
/*添加一个元素*/
int AddElement(OrderList* list, void* e)
{
int j;
if(list-ListLen=MAXSIZE)
{
printf(表已满\n);
return 0 ;
}
if(list-ListLen==0)
list-data[0]=e;
else
for(j=list-ListLen;j0;j--)
{
int n;
n=compareInt(list-data[j-1],e);
if(n=0)
{
list-data[j]=list-data[j-1];
if(j-1==0)
list-data[0]=e;
}
if(n0)
{
list-data[j]=e;
break;
}
}
++list-ListLen;
return 1;
}
//=================================================//
/*遍历有序表*/
void Tranverse(OrderList* list)
{
int i;
if (!list-Vist)
{
printf(请先设置Vist回调函数\n);
return;
}
printf(各元素的权重:);
for (i = 0; i list-ListLen; i++)
{
list-Vist(list-data[i]);
}
printf(\n);
}
void strtolower(char *str)
{
for (;*str;str++)
{
if(*strA||*strZ) continue;
*str+=0x20;
}
}
//=================================================/
您可能关注的文档
- [常州市]某医院规划与建筑设计方案.doc
- “犯罪人—被害人和解”的制度设计与司法践行.doc
- 《Java程序设计》练习十.doc
- 《Java程序设计》模拟练习三.doc
- 《打砖块》游戏设计报告.doc
- ××多层框架结构基础设计.doc
- 13万吨年中等分子量聚丙烯酰胺干燥设备设计.doc
- B2C网站设计.doc
- C语言及程序设计课程试卷答案.doc
- GB J74-1984石油库设计规范.doc
- 房地产市场报告 -重点城市房产经纪行业景气度 202601.docx
- 治疗药物竞争格局报告——阿尔茨海默病-医药魔方.docx
- 2025+TikTok+Shop+年度调研报告.pdf.docx
- 2026年商社美护行业年度策略:布局服务消费,掘金新消费.docx
- 生物医药行业深度报告——ADC子行业专题研究,国产ADC药物即将迎来高光时刻.docx
- 【指南】地方低空经济平台建设指南.docx
- 2025年度消费榜单-值得买科技.docx
- 科技主题观点综述:全球算力多点突破,AI驱动端侧应用渗透(更正).docx
- 航空愿景2050:迈向气候中和增长的潜力研究报告(英文版)-国际清洁交通委员会(ICCT).docx
- 高端白酒产品2025年度活动营销规划案.docx
原创力文档

文档评论(0)