哈夫曼编码设计报告

2019-06-02 15:05

哈夫曼编码 综合设计报告

LD

1

武汉工程大学计算机科学与工程学院 综合设计报告

目 录

摘 要 ……………………………………………………………………………………… I Abstract …………………………………………………………………………………... II 第一章 课题背景…………………………………………………………………….…….. 1 1.1 课题背景 ……………………………………………………………………….……...1 1.2 课题内容 ………………………………………………..………………………….… 1 第二章 设计简介及设计方案论述 ………………………………………………….…….. 2 2.1 设计简介 ………………………………………………..……………………….….…2 2.2 问题分析 ………………………………………………..……………………….….…2 2.3 设计方案 ………………………………………………..……………………….….…3 第三章 详细设计…………………………………………………………..………….…….. 4 3.1 主要流程图 ……………………………………………..……………………….….…4 3.2 主要类及函数介绍 ……………………………………..…………………………..…7 第四章 设计结果及分析…………………………………………………..…………….….. 8 4.1 设计结果 ……………………………………….………………………………..….…8 总 结 …….……………………………………………………..………………………....…11 致 谢 …….……………………………………………………..…………………...…….…12 参考文献 …….………………..………………………………..…………………...…….…13

附录 主要程序代码 ………...………………………………..……………………………14

- 1 -

武汉工程大学计算机科学与工程学院 综合设计报告

摘 要

数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。

建立在数据结构的基础上,利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。综合设计的任务是:设计一个哈夫曼编码/译码系统,使学生掌握哈夫曼编码的特点、存储方法和基本原理,培养学生利用C++语言编写程序以及调试程序的能力,运用数据结构知识解决实际问题的能力,为后续计算机专业课程的学习打下坚实的基础。

程序设计是为了锻炼我们的实际动手能力,在一定程度上,又增加了我们的各方面的知识,特别是一些联系实际的课程设计,它的完成需要自己平时积累的大量知识、并且需要勤于思考的能力和无限的激情。本次课设主要是学习程序设计的方法,进行程序设计的基本训练,巩固基础知识,通过思考,和大量的阅读,来构造一个完整的程序。

关键词:数据结构;哈夫曼编码/译码;程序设计

- 2 -

武汉工程大学计算机科学与工程学院 综合设计报告

Abstract

Data structure as a major research subject of various logical structure of data and storage structure, and various operations on the data.Therefore, there are three main aspects: the logical structure of data; the data of the physical storage structure; operations on data (or algorithm).Typically, the algorithm design depends on the logical data structure, algorithm implementation depends on the data of the physical storage structure.A data structure of information organization, its purpose is to improve the efficiency of the algorithm, it is usually set with a set of algorithms corresponding to this set of algorithms through the collection of data structures can be some kind of data operation.

Established on the basis of the data structure, the use of Huffman coding can greatly improve the communication channel utilization, reduce transmission time information, reducing transmission costs.Integrated design of the task: design a Huffman encoding / decoding system that allows students to master the characteristics of Huffman coding, storage methods and basic principles, students write programs using C language and ability to debug programs using the data structure of knowledgethe ability to solve practical problems for the computer professional courses of study follow-up and lay a solid foundation.

Program design is to exercise our practical ability, to a certain extent, but also increase our knowledge of all aspects, especially in some of the curriculum with practice, it needs to complete a large number of accumulated knowledge of their usual and need to be diligentability to think and passion.The main lesson is to learn programming based methods, the basic training program designed to consolidate basic knowledge, through thinking, and a lot of reading, to construct a complete program.

Keywords:Data structure; Huffman encoding / decoding; Programming

- 3 -

武汉工程大学计算机科学与工程学院 综合设计报告

第一章 课题背景

1.1课题背景

《数据结构》在计算机科学中是一门核心专业基础课,在整个计算机课程体系中处于承上启下的核心地位,它一方面扩展和深化在离散数学、程序设计语言等课程学到的基本技术和方法,一方面为进一步学习其它专业课奠定坚实的理论与实践基础。课程的主要任务是学习数据的逻辑结构,存储结构以及相关的算法设计。《应用软件综合设计》是计算机科学与技术专业学生的一门实践课程,是学习完数据结构课程后的课程设计,本课程的目的是使学生学会分析待加工处理数据的特性,以便选择适当的逻辑结构、存储结构以及进行相应的算法设计。在教给学生数据结构选择和算法设计的同时,培养学生的抽象思维能力、逻辑推理能力和形式化思维方法,增强分析问题和解决问题的能力。 利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。综合设计的任务是:设计一个哈夫曼编码/译码系统,使学生掌握哈夫曼编码的特点、存储方法和基本原理,培养学生利用C++语言编写程序以及调试程序的能力,运用数据结构知识解决实际问题的能力,为后续计算机专业课程的学习打下坚实的基础。

1.2 课题内容

内容:分两个层次

层次一:用下表中给出的字符和频度数据编程建立哈夫曼树,并实现对以下报文进行编码/译码。THIS PROGRAM IS MY FAVORITE

空字符 格 频度 字符 频度 186 N 57 64 O 63 13 P 15 22 Q 1 32 R 48 103 S 51 21 T 80 15 U 23 47 V 8 57 W 18 1 X 1 5 Y 16 32 Z 1 20 A B C D E F G H I J K L M

层次二:编程从键盘任意输入一段报文,首先统计字符的频度,然后建立哈夫曼树,并给出报文的编码/译码。

- 1 -


哈夫曼编码设计报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小型SQL数据库系统(成绩管理系统)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: