欢迎来到天天文库
浏览记录
ID:22290701
大小:474.82 KB
页数:19页
时间:2018-10-28
《数据结构课程设计哈夫曼树》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、号:2*********EUEEIPOLYTECHNICUNIVERSITY题目哈夫曼树的应用教学院计算机学院专业计算机科学与技术❖❖❖❖冯珊姓名指导教师课程设计任务书2011〜2012学年第2学期学生姓名:__氺氺氺氺_专业班级:指导教师:拗工作部门:计算机学院一、课程设计题目:哈夫曼树的应用二、课程设计内容(含技术指标)1.从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;2.利用己经建好的哈夫曼树(如不在内
2、存,则从文件htmTree中读入),对文件Text,txt中的正文进行编码,然后将结果存入文件Code,txt中。3.利用已建好的哈夫S树将文件Code,txt中的代码进行译码,错果存入文件Text,txt中,并输出结果。三、进度安排2012年6月11日设计动员,布置任务2012年6月12日〜2012年6月13口,查阅资料,分析、讨论与设计2012年6月14日〜2011年6月19日,编写程序,进行调试2012年6月20日〜2CH1年6月21日,完成模块联调,进行测试2012年6月22円,成果验收,完成设计报告、
3、答辩四、基本要求1.分析问题,给岀数学模型,选择数据结构。2.设计算法,给岀算法描述,给岀源程序清单。3.编辑、编译、调试源程序,撰写课程设计报告。4.界而友好,函数功能要划分好5.总体设计应画一流程图6.程序要加必要的注释7.要提供程序测试方案8.程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价们的。翻3一謎41.课程设计的目的42.课程设计的要求43.哈夫曼算法的实现4二总体方案设计51.整体的设计思路52.算法的整体思路53.54.规剛6三详细设计71.总体设计流程图72.建立
4、哈夫曼树73•鋼雌84.测就8四程序的调试与运行结果说明9五课程设计总结12程序部分代码13参考文献16摘要随着计算机的普遍应用与口益发展,其应用早已不局限于简单的数值运算,而涉及到问题的分析、数据结构框架的设计以及设计最短路线等复杂的非数值处理和操作。算法与数据结构的学习就是为以后利用计算机资源高效地开发非数值处理的计算机程序打T坚实的理论、方法和技术棊础。算法与数据结构旨在分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构,从而使建立在其上的解决闷题的算法达到最优。数据结构是在整个计算机科
5、学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机屮的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的
6、一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题屮所涉及的对象在计算机屮表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。概述1.课程设计的目的1.理解和掌握该课程屮的有关基本概念,程序设计思想和方法。2.培养综合运用所学知识独立完成课题的能力。3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑何题等科学技术人员应具有的
7、素质。4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。2.课程设计的要求一个完整的系统至少具有以下功能:(1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立赫夫曼树,并将它存于文件hfmTree中。(2)E:编码(Encoding)。利用己建好的赫夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的止文进行编码,然后将结果存入文件CodeFile中。(3)D:译码
8、(Decoding)。利用已建好的赫夫曼树将文件CodeFile中的代码进行译码,结果存入文件Textfile中。3.哈夫曼算法的实现由哈夫曼树的构造过程可知,初始森林屮共有n棵二叉树,每棵树屮都仅有一个孤立的结点,它们既是根,又是叶子。然后将当前森林屮的两棵根结点权值最小的二叉树,合并成一棵新二叉树。每合并一次,森林中就减少一棵树。显然,要进行n-1次合并,才能使森林屮的二叉树的数目
此文档下载收益归作者所有