数据结构课程设计——哈夫曼编/译码器

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

数据结构课程设计任务书

学生姓名            专业班级软件工程

指导教师              工作单位

题  目:   哈夫曼编/译码器                                  

基础要求

1熟悉各种数据结构和运算会使用数据结构的基本操作解决一些实际问题

2重视课程设计环节用严谨、科学和踏实的工作态度对待课程设计的每一项任务

3学生在接受设计任务后首先要按设计任务书的要求编写设计进程表

4认真编写课程设计报告。

主要任务:

1任务内容

(1)I初始化(Initialization)。

(2)E编码(Encoding)。

(3)D: 译码(Decoding)。

(4)P打印代码文件(Print)。

(5)T打印哈夫曼树(Tree printing)。

2完成要求

对系统进行功能模块分析、控制模块分析系统设计要能完成题目所要求的功能编程简练可用尽可能的使系统的功能更加完善和全面说明书、流程图要清楚提高学生的论文写作能力特别要求自己独立完成在基本要求达到后可进行创新设计如改善算法性能、友好的人机界面。

3撰写课程设计报告

报告格式按附件要求打印与写课程设计报告论文包括目录、正文、小结、参考文献、附录等课程设计论文装订按学校的统一要求完成。

时间安排2022年12月26日——2022年12月30日

指导教师签名                      年    月    日

完整资料私信我

 

哈夫曼编/译码器

  • 引言

1.1 问题的提出

利用哈夫曼编码进行通信可以大大提高信道利用率缩短信息传输时间降低传输成本。但是这要求在发送端通过一个编码系统对待传数据预先编码在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道)每端都需要一个完整的编 /译码系统。

1.2 任务需求分析

(1)I初始化(Initialization)。从终端读入字符集大小n , 以及n个字符和n个权值建立哈夫曼树并将它存于文件hfmTree中。

(2)E编码(Encoding)。利用已建好的哈夫曼树(如不在内存则从文件hfmTree中读人)对文件ToBeTran中的正文进行编码然后将结果存入文件CodeFile中。

(3)D: 译码(Decoding)。利用已建好的哈夫曼树对文件 CodeFile 中的代码进行译码结果存入文件TextFile中。

(4)P打印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上每行 50 个代码。同时将此字符形式的编码文件写入文件 CodePrint中。

(5)T打印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上同时将此字符形式的哈夫曼树写入文件TreePrint中。

二、代码分析

  1. 模块中使用的数据结构
  1. 哈夫曼树在进行编码与解码时需要先构造一个哈夫曼树
  1. 线性结构在构造哈夫曼树时使用线性表来保存树的结点
  1. 模块调用关系

图2.1模块调用关系图

  1. 各模块/函数详细框图

图2.2 流程图

图2.3 菜单图

图2.4系统图

  • 系统集成
  1. 数据结构定义

图3.1 数据结构定义代码

  1. 函数定义

图3.2 函数定义代码

  1. 主函数

图3.3主函数代码

  1. 菜单代码

图3.4菜单代码图

四、课程设计总结

课程设计是让我们充分利用我们专业课程所学知识的机会也是我们迈向社会从事工作前一个必不少的过程。通过这次课程设计我深深体会到将知识运用到实践中的重要作用。我这一个礼拜的课程设计是让我学会脚踏实地迈开这一步也是为明天能稳健地在社会大潮中奔跑打下坚实的基础。

我的课程设计题目是哈夫曼编译码器。最初做这个程序的时候让我觉得完成这次程序设计真的是有点困难然后我查阅了课本并在网上百度和在b站上看相关的知识视频写这个程序的时候也参考了网上的设计流程。写完刚运行时出现了很多问题。尤通过和同学的交流请教与网上百度相关问题的过程让我逐渐明白过来顺利运行。本次试验也让我明白了理论与实际相结合的重要性并提高了自己程序的能力培养了良好的程序设计技能以及学习能力。在实际编写过程中通过自己网上查询资料和查找相关问题的解决办法让我学到了很多解决问题的方法和思想。课程设计本身也是一种学习的过程。

参考文献

1严蔚敏 吴伟民数据结构(C语言版) [M].清华大学出版社, 2007

2肖睿机器学习基础北京人民邮电出版社2021.

3刘鹏语言北京清华大学出版社2019

4董付国数据分析、挖掘与可视化北京人民邮电出版社2020.1

5黄红梅基于数据结构化的三维动画压缩方法研究《图学学报》2021

6刁在箴《中国信息技术教育》 | 2021 年第 006 期

7田里数据结构实时调试 北京大学出版社, 2012

8张志数据结构的知识图谱构建及其可视化应用的研究《科学报》2020

9孙希概率型数据结 北京北京大学出版社2017

10钱灿数据结构信息的相关滤波器 北京清华大学出版社2015
 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6