哈弗曼编码译码课程设计.doc_第1页
哈弗曼编码译码课程设计.doc_第2页
哈弗曼编码译码课程设计.doc_第3页
哈弗曼编码译码课程设计.doc_第4页
哈弗曼编码译码课程设计.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉工程大学 计算机科学与工程学院综合设计报告设计名称: 应用软件综合设计 设计题目: 哈夫曼编码/译码器 学生学号: 0805060119 专业班级: 软件工程 学生姓名: 学生成绩: 指导教师(职称): 刘黎志(讲师) 课题工作时间: 2010-6-21 至 2010-7-2 说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。答辩小组成员应由2人及以上教师组成。5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。成绩评定表学生姓名: 学号: 班级: 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3510报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。5参考文献数量在3篇以上,格式符合要求,在正文中正确引用。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 补充说明: 指导教师: (签字)日 期: 年 月 日答辩记录表学生姓名: 学号: 班级: 答辩地点: 答辩内容记录:答辩成绩合计分值各项分值评分标准实际得分合计得分备注2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字): 年 月 日指导教师评语指导教师: (签字)日 期: 年 月 日一、综合设计目的、条件、任务和内容要求:利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编译码系统。一个完整的哈夫曼码的编译码系统系统应具有以下功能:I: 初始化(Initialization)。从终端读入字符集大小n,几个字符和n个权值,建立哈夫曼树,并将它存于文件hfmtree中。C: 编码(Coding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmtree中读入),对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中。D: 译码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。P: 打印代码文件(Print)。将文件codefile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件codeprint中。T: 打印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(数或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件treeprint中。测试数据用下表中给出的字符集和频度的实际统计数据建立哈夫曼数,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。字符-ABCDEFGHIJKLM频度1866413223210321154757153220字符NOPQRSTUVWXYZ频度5763151485180238181161通过本设计可以巩固已经学过的基础课及专业课知识,开阔学生的视野,锻炼学生的自学能力及独立动手能力。 指导教师签字: 刘黎志 2009 年 9 月 11 日二、进度安排:2010-6-21:明确所选课题的具体要求,按要求阅读相关的参考文献及资料2009-6-22至2010-7-1:课题代码实现、课程设计报告书写2010-7-2:课程设计答辩三、应收集资料及主要参考文献:1 严蔚敏,吴伟民.数据结构 M.北京:清华大学出版,1999 2 陈一华.数据结构 M.西安:电子科技大学出版社,1998 3 谭浩强.C语言程序设计 M.北京:高等教育出版社,20024 曲建民,刘元红 郑陶然数据结构 M北京:清华大学出版社,20055 李春葆.数据结构教程 M北京:清华大学出版社,20056 蒋立翔C+程序设计技能百练 M西安:中国铁道出版社,2004四、综合设计(课程设计)摘要(中文):在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称熵编码法),用于数据的无损耗压缩。它在很多领域有着广泛的应用,是一种带权路径长度最短的树,该文在哈夫曼提出的构造最优二叉树的基础上进行一些改进,并得出一种最简计算最短带权路径长度的方法。你会发现一些数据经常出现的频率高,有些出现的频率低。利用哈夫曼算法建立一棵哈夫曼树(最优二叉树),同时将数据出现的频率作为权值赋给哈夫曼树中的结点。根据建立好的哈夫曼树我们进行编码,从根结点出发在左子树则标为0,右则标为1。直到到指定的叶子结点,然后将遍历过程中标记的0,1代码存在一个数组中。以此实现将使用频率高的字符的编码尽可能的少,也就使得总的长度减少。在哈夫曼编码的基础上进行解码,就可以还原压缩的数据。哈夫曼树是一种应用广泛的数据结构。在文件压缩中,根据各字符在文件中出现的频率不同(有的字符根本没出现),依照频率高,则编码长,频率低则编码短的原则对各字符重新进行编码,从而在总体上使文件长度缩短,达到压缩文件的目的。该设计是对输入的一串电文字符实现哈夫曼编码,再对哈夫曼编码生成的代码串进行译码,输出电文字符串。在该设计中把数据压缩过程称为编码,解压缩的过程称为译码。此程序中建立了哈夫曼树,并利用建好的哈夫曼树对文件中的正文进行编码,对文件中的代码进行译码,显示输出等功能。五、综合设计(课程设计)Abstract(英文):In the computer information processing, Huffman coding is a consistent coding method (also known as entropy coding method) for lossless data compression. It has wide application in many fields, is a weighted length of the shortest path tree, this paper put forward in the Huffman binary tree structure based on the optimal number of improvements, and draw one of the most simple calculation of the shortest weighted path length method. You will find some of the data often high frequency, the frequency of some of the low. Huffman algorithm is used to establish a Huffman tree (the optimal binary tree), while data on the frequency as the weights assigned to nodes in Huffman tree. Huffman tree according to well-established that we encode, starting from the root node in the left subtree is marked as 0, the right is labeled 1. Up to the specified leaf node, then iterate the process of marking the existence of a 0,1 code array. In order to achieve high frequency of characters to use as less code, thus making the total length of the reduction. In the Huffman coding on the basis of decoding, you can restore the compressed data. Huffman tree is a widely used data structure. In the file compression, according to the characters in the file of the occurrence frequencies in different (some fundamental Mei Zi Fu there), high the encoder Zhang low frequency short while the principles of coding each Zifuzhongxin encoded in the aggregate to document length in the compressed document is intended to achieve. The design is a message character string input Huffman coding to achieve and then build on Huffman decoding code strings, the output message string. In the design of the data compression process is called encoding, unzip the process is called decoding. This procedure established a Huffman tree, and built the Huffman tree using the text file encoded in the code on the file decoding, display output function.武汉工程大学计算机科学与工程学院 综合设计报告目 录摘 要 IIAbstract . II第一章 课题背景(或绪论、概述). 11.1 哈夫曼背景介绍.11.2 哈夫曼设计目的. 21.3 哈夫曼树的应用.2第二章设计简介及设计方案论述 . 32.1 需求分析.32.2 概要设计.32.3 相关函数介绍.4第三章详细设计. 53.1 哈夫曼树核心算法. .53.2 程序流程图.7第四章设计结果及分析.104.1 调试分析.104.2 结果展示.114.3 实验体会.16总 结 .17致 谢 .18参考文献 .19附录 主要程序代码 .20摘 要在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称熵编码法),用于数据的无损耗压缩。它在很多领域有着广泛的应用,是一种带权路径长度最短的树,该文在哈夫曼提出的构造最优二叉树的基础上进行一些改进,并得出一种最简计算最短带权路径长度的方法。你会发现一些数据经常出现的频率高,有些出现的频率低。利用哈夫曼算法建立一棵哈夫曼树(最优二叉树),同时将数据出现的频率作为权值赋给哈夫曼树中的结点。根据建立好的哈夫曼树我们进行编码,从根结点出发在左子树则标为0,右则标为1。直到到指定的叶子结点,然后将遍历过程中标记的0,1代码存在一个数组中。以此实现将使用频率高的字符的编码尽可能的少,也就使得总的长度减少。在哈夫曼编码的基础上进行解码,就可以还原压缩的数据。哈夫曼树是一种应用广泛的数据结构。在文件压缩中,根据各字符在文件中出现的频率不同(有的字符根本没出现),依照频率高,则编码长,频率低则编码短的原则对各字符重新进行编码,从而在总体上使文件长度缩短,达到压缩文件的目的。该设计是对输入的一串电文字符实现哈夫曼编码,再对哈夫曼编码生成的代码串进行译码,输出电文字符串。在该设计中把数据压缩过程称为编码,解压缩的过程称为译码。此程序中建立了哈夫曼树,并利用建好的哈夫曼树对文件中的正文进行编码,对文件中的代码进行译码,显示输出等功能。关键词:哈夫曼树;哈夫曼编码AbstractIn the computer information processing, Huffman coding is a consistent coding method (also known as entropy coding method) for lossless data compression. It has wide application in many fields, is a weighted length of the shortest path tree, this paper put forward in the Huffman binary tree structure based on the optimal number of improvements, and draw one of the most simple calculation of the shortest weighted path length method. You will find some of the data often high frequency, the frequency of some of the low. Huffman algorithm is used to establish a Huffman tree (the optimal binary tree), while data on the frequency as the weights assigned to nodes in Huffman tree. Huffman tree according to well-established that we encode, starting from the root node in the left subtree is marked as 0, the right is labeled 1. Up to the specified leaf node, then iterate the process of marking the existence of a 0,1 code array. In order to achieve high frequency of characters to use as less code, thus making the total length of the reduction. In the Huffman coding on the basis of decoding, you can restore the compressed data. Huffman tree is a widely used data structure. In the file compression, according to the characters in the file of the occurrence frequencies in different (some fundamental Mei Zi Fu there), high the encoder Zhang low frequency short while the principles of coding each Zifuzhongxin encoded in the aggregate to document length in the compressed document is intended to achieve. The design is a message character string input Huffman coding to achieve and then build on Huffman decoding code strings, the output message string. In the design of the data compression process is called encoding, unzip the process is called decoding. This procedure established a Huffman tree, and built the Huffman tree using the text file encoded in the code on the file decoding, display output function.Keywords: Huffman tree; Huffman coding- 34 -第一章 课题背景1.1哈夫曼背景介绍哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+.+Wn*Ln),N个权值Wi(i=1,2,.n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,.n)。可以证明哈夫曼树的WPL是最小的。从哈夫曼树根结点开始,对左子树分配代码“0”,右子树分配代码“1”,一直到达叶子结点为止,然后将从树根沿每条路径到达叶子结点的代码排列起来,便得到了哈夫曼编码。因此,在文件中出现频率高的符号,使用短的位序列,而那些很少出现的符号,则用较长的位序列。1.1.1 基本术语路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。 结点的权及带权路径长度:若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。 树的带权路径长度:树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。1.2哈夫曼设计目的数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。数据结构是信息的一种组织方式,其目的是为了提高算法的效率, 它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法, 具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设置、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;培养软件工作者所应具备的科学的工作方法和作风。1.3哈夫曼树的应用1.3.1哈夫曼树的构造如图1-1哈夫曼树的构造假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、,wn看成是有n 棵树的森林。(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和。(3)从森林中删除选取的两棵树,并将新树加入森林(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树哈夫曼树构造图1-1即为所求得的哈夫曼。1.3.2哈夫曼编码哈夫曼编码是一种编码方式,编码需从叶子结点出发走一条从叶子到根的路径。在数据通信中,需要将传送的文字转换成二进制的字符串,用0,1码的不同排列来表示字符。为使不等长编码为前缀编码,可用字符集中的每个字符作为叶子结点生成一棵编码二叉树,为了获得传送报文的最短长度,可将每个字符的出现频率作为字符结点的权值赋予该结点上,求出此树的最小带权路径长度就等于求出了传送报文的最短长度。因此,求传送报文的最短长度问题转化为求由字符集中的所有字符作为叶子结点,由字符出现频率作为其权值所产生的哈夫曼树的问题。1.3.3哈夫曼译码编码需从叶子结点出发走一条从根到叶子的路径。在通信中,若将字符用哈夫曼编码形式发送出去,对方接收到编码后,将编码还原成字符的过程,称为哈夫曼译码。第二章 设计简介及设计方案论述2.1需求分析2.1.1程序的基本功能本程序可以对任何大小的字符型文件进行Huffman编码,生成一个编码文件。并可以在程序运行结束后的任意时间对它解码还原生成字符文件。即:先对一条电文进行输入,并实现Huffman编码,然后对Huffman编码生成的代码串进行译码,最后输出电文数字。2.1.2输入/输出形式当进行编码时输入为原字符文件文件名,当程序运行编码完成之后输入编码文件名(默认名为code.dll)。当进行译码时输入为编码文件名(默认名为code.dll),从文件中读取Huffman编码树后输入字符文件的文件名。2.1.3测试数据要求本程序中测试数据主要为字符型文件。2.2概要设计2.2.1.系统结构图(功能模块图)哈弗曼树编码译码器编码译码退出2.2.2功能模块说明(1)编码:提示要编码的文件文件名读取文件以字母出现次数为权值建立哈弗曼树对文本进行哈弗曼编码并输出编码提示将编码保存的文件名保存编码文件。(2)译码:提示输入要译码的文件名利用建立好的哈弗曼树进行译码将译码输出提示保存译码文件的文件名保存译码文件。(3)退出:退出系统,程序运行结束。2.3 相关函数介绍哈夫曼树节点的数据类型定义为:typedef structHuffmanTree HT; /引用上一个数据类型char *c; /存放将要建立哈夫曼树的字符int longth; /字符的大小,即开始第一步输入的一个整数HuffmanCode HC; /存放对应的哈夫编码即对应的01代码Huffman(1)int min(HuffmanTree t,int i)建立哈夫曼树,存于文件hfmtree.dat中,供InitHuffman()函数调用。(2)void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n)初始化哈夫曼树,处理InputHuffman(Huffman Hfm )函数得到的数据,按照哈夫曼规则建立2叉树,此函数块调用了Select()函数。(3)void Select(HuffmanTree HT,int end,int *s1,int *s2)把输入的字符按权值从小到大排序,挑出最小权值供HuffmanCoding()调用并且根节点的权值等于他的左右孩子的权值和。(4)void Decoding()对文件中的正文进行编码,将结果存入文件codefile.dat中。如果正文中没有要编码的字符,则键盘读入并存储到ToBeTran文件中。读入ToBeTran中将要编码的内容,将编码好的哈夫曼编码存储到CodeFile中。(5)void Decoding(Huffman Hfm)利用已建好的哈夫曼树将文件codefile.dat中的代码进行译码,结果存入文件textfile.dat 中。(6)void Code_printing()输出哈夫曼树,字符,权值,以及它对应的编码。第三章 详细设计3.1哈夫曼树核心算法Huffman编码是一种可变长编码方式,是二叉树的一种特殊转化形式。编码的原理是:将使用次数多的代码转换成长度较短的代码,而使用次数少的可以使用较长的编码,并且保持编码的唯一可解性。Huffman算法的最根本的原则是:累计的(字符的统计数字*字符的编码长度)为最小,也就是权值(字符的统计数字*字符的编码长度)的和最小。3.1.1哈夫曼树构造算法已知(186) A(64) B(13) C(22) D(32) E(103) F(21) G(15) H(47) I(57) J(1) K(5) L(32) M(20) N(57) O(63) P (15) Q(1) R(48) S(51) T(80) U(23) V(8) W(18) X(1) Y(16) Z(1) 注:括号里面的是频度。生成Huffman树:每次取最小的那两个节点(node)合并成一个节点(node),并且将累计数值相加作为新的接点的累计数值,最顶层的是根节点。Huffman树构造如下: Huffman树 层数 Root(权值和1000) 1 MFREINCKUS(权值和402) JQXZKVWHTBGDOPYLA(权值和598) 2 MFRE INCUS JQXZKVWHT BGDOPYLA 3 MFR E IN CUS JQXZKVWHT BGDO PYLA 4 MF R I N CU S T JQXZKVWH O BGD A PYL 5 M F C U H JQXZKVW D BG L PY 6 JQXZKV W B G P Y 7 JQXZK V 8 JQXZ K 9 JQ XZ 10 J Q X Z 11注:层数就是位数或者说是代码长度,权值=代码长度*该字的统计次数。Huffman树对应信息:(取左面是0,右面是1)代码位数权值空格 = 1103186A = 1010464B = 100100613C = 00010522D = 10110532E = 0103103F = 111110621G = 100101615H = 0000447I = 0110457 J = 1111011100101 K = 1111011085L = 10111532M = 111111620N = 0111457O = 1000463P = 100110615Q = 1111011101101R = 0010448S = 0011451T = 1110580U = 00011523V = 111101078W = 111100618X = 1111011110101Y = 100111616Z = 1111011111101哈夫曼编码算法:将“THIS PROGRAM IS MY FAVORITE”用Huffman树产生的编码对应着写到文件中,并且保留原始的Huffman树,主要是编码段的信息。每个Huffman树都必须有以下的结构:code,char,left,right,probability(出现次数),通常情况是利用一个数组结构。因为在解码的时候只需要用到code,所以只需要记录每个元素的编码就可以了。哈夫曼编码解码:利用文件中保存的Huffman编码,一一对应,解读编码,把可变长编码转换为定长编码。3.2程序流程图开始初始化哈夫曼链表且有2n-1个节点i=1Iweight=countip=p-nextfor(i=n;iParent=HT2-Parent=pp-LChild=HT1p-RChild=HT2p-weight=HT1-weight+HT2-weight结束图3-1创建哈夫曼树if(q=q-Parent-LChild)开始将字符存入哈夫曼编码结构体数组的字符单元中HCi.code-HCi.start=0HCi.code-HCi.start=1p=p-nextI=n 时结束图3-2哈夫曼编码开始Root指向根节点P!=rootcodei=0p=p-LChildp=p-Rchildp-LChild=NULL&p-RChild=NULLsk+=strjp=root结束图3-3哈夫曼译码第四章 设计结果及分析4.1调试分析从叶子节点开始向上遍历二叉树,获得哈夫曼编码;根据哈夫曼编码遍历哈夫曼树直到叶子节点,获得译码;算法的时间复杂度分析程序部分用双循环嵌套结构;算法的空间复杂度分析:算法的空间复杂度为O(n)。4.2 结果展示4.2.1初始化(Initialization)图4-1 初始化哈夫曼树图4-2 将建立哈夫曼树存于文件hfmtree中4.2.2编码(Coding)图4-3 编码界面图4-4 对文件tobetrans中的正文进行编码图4-5 对文件tobetrans编码界面图4-6 将结果存入文件codefile4.2.3译码(Decoding)图4-7译码界面图4-8文件codefile译码前的界面图4-9文件codefile译码后的界面4.2.4打印代码文件(Print)图4-10打印代码文件界面图4-11 将编码文件写入文件codeprint4.2.5打印哈夫曼树(Tree printing)图4-12将哈夫曼树写入文件treeprint4.3实验体会在运行哈夫曼编码过程中,构造好哈夫曼树后,就可根据哈夫曼树进行编码。经哈夫曼编码得到的对应的码值。只要使用同一棵哈夫曼树,就可把编码还原成原来那组字符。即译码功能的实现。在调试过程中,主要是,在生成哈夫曼树时,须花费一定的时间输入字符以及权值的大小。本程序有些代码重复出现,从而减少了空间的利用率和增加了程序代码的杂乱性,特别是文件操作方面,如果可能的话,可以把文件读入、读出分别写成一个函数(就是把文件名作为参数),然后就可以直接调用了。 此处我将编码结果存入了一个文件,译码时直接从文件读取逐一译码。 本设计,功能简单明了,且程序代码可运行好,其中用到了数组,字符串,二叉树等知识以实现程序。 时间复杂度与空间复杂度。在程序开头部分,就定义了一个长度为99的字符数组,用来存放用户输入的字符,空间上造成了一定的浪费,若能实现动态的存储空间,就可以有效的利用好空间。与之相同的还有解码的时候,同样申请了一个长度为9999的字符数组。所以有效的利用好空间时很好的。在运行第一步,也就时构造哈夫曼树时,字符与权值大小的输入可能会造成时间上的浪费,另外就是在译码时没能实用二进制流文件对相关知识没能融会贯通,所以需耐心完成。 总 结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。通过这次课题实验的程序实践,我实在获益匪浅!数据结构是上个学期开展的一门学科,学习好这门学科是非常重要的,在以后的程序设计方面这门学科能给我们很大的帮助。同时,学习这门学科也是艰辛的,因为它比较难懂,这不仅需要我们要发挥我们的聪明才志,还需要我们在不断的实践中领悟。这次的程序设计对我来说无疑是一个具大的考验,从接起课题后,我就一直为实现程序而努力,翻阅相关书籍、在网上查找资料。因为开始时基础不是很好,过程中遇到了不少的阻碍,编写程序的进度也比较慢。虽然如此,但是通过自己的努力与老师的指导,我对这次实验的原理有了一定的理解,通过参照从网上找到的源程序,终于在其它源程序的基础下写出了本次实验的核心算法,并使其能够正常的运行。这两周的课程设计工作,让我体会到了作为一个编程人员的艰难,一个算法到具体实现,再到应用层面的开发是需要有一段较长的路要走的,不是一朝一夕就可以实现的,而且在编好程序后,编程人员还要花很多的时间去完善它,其中包含的心酸,外人是不会明白的。还有这次的课程设计引导了我们尽可能多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论