第一章 绪论
1.1课题背景
JSP仓库管理系统设计论文+ER图+参考文献随着计算机的普遍应用与日益发展,其应用已不局限于简单的数值运算,而涉及到问题的分析、数据结构框架的设计以及设计最短路线等复杂的非数值处理和操作。算法和数据结构的学习就是为以后利用计算机资源高效地开发非数值处理的计算机程序打下坚实的理论、方法和技术基础,以便选择适当的数据结构和存储结构,从而使建立在其上的解决问题的算法达到最优。
在权为w1,w2...wn的n个叶子所构成的所有二叉树中,带权路径长度最小(即代价最小)的二叉树称为最优二叉树或哈夫曼树。本课程设计内容即为创建一个哈夫曼树,主要研究如何解决对于给定的叶子数目及其权值构造最优二叉树的方法。通过对问题的分析,采用哈夫曼算法的设计思想,主要研究如何解决对于给定的叶子数目及其权值构造最优二叉树的方法。本文来自辣.文,论-文·网原文请找腾讯752018766
在信息传递时,希望长度尽可能短,即采用最短编码。哈夫曼编码的应用,就是采用这种有效的编程技术。
这次课程设计的主题——Huffman编译码程序的分析与设计,是它的创始人David Albert Huffman在1952年做博士论文是发明的,这是一种根据字母的使用频率而设计的变长码,能大大提高信息的传输效率,至今仍有广泛的应用[1]。比如,如今在全世界广泛运用的图片压缩格式JPEG的编码算法之一,就是用的Huffman编码,不仅如此,它还广泛的运用在各种数据压缩的技术中,至今仍然不失为一种熵编码中的最佳编码方法。 发明Huffman算法的科学家David Albert Huffman 1925年生于俄亥俄州,从小聪慧好学,他在俄亥俄州立大学毕业时只有17岁。然后他进入MIT一边工作,一边深造,霍夫曼编码就是他在1952年做博士论文时发明的。这是一种根据字母的使用频率而设计的变长码,能大大提高信息的传输效率,至今仍有广泛的应用[2]。为了说明霍夫曼编码的原理,我们以仅有6个字符的信息传输为例。在等长编码情况下,每个字符需要3个二进制位。在字符出现概率不同的情况下,我们可以设计出不等长的码,如图所示,从而大大降低发送一个讯息所需要的总字符数。因为如图所示的编码,虽然每个字符所需的二进制位的算术平均数为3.33,大于等长编码,但按出现概率的加权平均值,则为2.05,通信开销减少将近1/3。 变长码的关键问题是如何为每个字符设计编码,使得接收方在收到报文后能正确地译码,也就是能正确判断现在收到的一个二进制位是前一字符的末位还是一个新的字符的首位。在上面这个6个字符的简单例子中,判断当然是很容易的:每出现一个“0”,或连续出现的第5个“1”,就是一个字符的终止位。对于实际系统,字符集相当大,编码设计就没有那么容易而变得十分复杂了。但是霍夫曼成功地解决了这个难题,使变长码得以被实际采用。
某公园设计说明及施工图纸 在计算机领域中,数据编码技术数字通信中一直占据着重要的地位。然而在数字通信过程中,往往存在很多问题,如:信息传递的速度和所传递信息的可靠性这对不可调和的矛盾,所传递的数据编码的长度和数据译码容易产生二义性等。以上问题,使得数据编码技术的优劣在很大程度上影响着通信的质量。数据的编码,依据数据结构。树型结构是一种应用非常广泛的结构,除利用树型结构组织各种目录外,在许多的算法中常常利用数型结构作为中间结构,以求解问题,确定对策等。在数据结构中,树不是指大自然里的一类植物,而是一种数据结构,因为其存放方式颇有点像一棵树,故取名为树。。在树型结构中,以二叉树的应用最为普遍,在构造加权路径的二叉查找树中,加权后路径长度最小的并不一定是具有最小深度的二叉查找树,而是权数越大的叶子离根节点越近的二叉树。这种具有最小叶节点加权路径长度的二叉查找树就是哈夫曼树。在下个学期我们将学习数据结构这门课。为了让我们提前了解数据结构的特点,提高我们对知识的运用能力,解决通信系统中成本高,效率低等问题,我们设计了哈夫曼编码系统这个课题。在现实生活中,我们通信系统如果采用二进制等长编码,不但造成资源浪费,而且效率低下。我们通过把哈夫曼编码系统引入通信系统,使得不同频率的字符,其对应的二进制编码频率高的短,频率低的长,以实现普遍适用。这样理论与实践相结合以达到处理现实社会通信系统中信息的传递效率与节约成本的问题。在设计时,首先要从通信问题中抽象出一个数学模型,然后设计一个解此数学模型的算法最后编出程序、进行测试、调整直至得到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。在上两个学期,我们学习了计算机编程语言C和C++,利用所学的C语言,完成我们设计的哈夫曼树系统。因此,做为计算机专业的一名学生,有必要进行这样的课程设计,以达到培养处理分析问题的能力,提高综合素质,为以后的专业要求打好基础。
1.2课程目的
这次课程设计是计算机工程专业第一个综合设计,通过哈夫曼编码系统,将C语言与数据结构中的树结合起来,实现通信系统中缩短时间,节约成本,提高效率等问题,使我们掌握哈夫曼编码的特点、存储方法和基本原理与算法,培养我们能够利用所学的C语言对现实生活中的实际问题进行分析与设计、编码,并且解决实际问题,为后续计算机专业课程做准备,并达到如下要求:
了解数据结构与算法分析的方法,提高分析设计实际问题的能力;
掌握软件开发过程中问题分析,系统设计,程序编码与测试等基本方法与技能;
提升理论与实践相结合的综合能力,完善操作过程。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
Huffman编译码程序的分析与设计-源代码+流程图 第3页下载如图片无法显示或论文不完整,请联系qq752018766