您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 【VIP专享】实验三-贪心算法
《算法设计与分析》课程实验报告专业:计算机科学与技术班级:1320542学号:34姓名:吴易璋日期:2015年12月1日一、实验题目贪心算法二、实验目的(1)掌握贪心算法的基本思想(2)掌握贪心算法中贪心选择性质和最优子结构性质的分析与证明(3)掌握贪心算法求解问题的方法三、实验内容1.哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。给出文件中各个字符出现的频率,求各个字符的哈夫曼编码方案。2.给定带权有向图G=(V,E),其中每条边的权是非负实数。另外,还给定V中的一个顶点,称为源。现在要计算从源到所有其他各顶点的最短路长度。这里路的长度是指路上各边权之和。3.设G=(V,E)是无向连通带权图,即一个网络。E中每条边(v,w)的权为c[v][w]。如果G的子图G’是一棵包含G的所有顶点的树,则称G’为G的生成树。生成树上各边权的总和称为该生成树的耗费。在G的所有生成树中,耗费最小的生成树称为G的最小生成树。求G的最小生成树。四、实验步骤1、题目一(1)问题分析哈夫曼算法以自底向上的方式构造表示最优前缀码的二叉树T。算法以|C|个叶结点开始,执行|C|-1次的“合并”运算后产生最终所要求的树T。下面所给出的算法huffmanTree中,编码字符集中的每一字符c的频率是f(c)。以f为键值的优先队列Q用在贪心选择时有效地确定算法当前要合并的两棵具有最小频率的树。一旦两棵具有最小频率的树合并后,产生一棵新的树,其频率为合并两棵树的频率之和,并将新树插入优先队列Q。算法huffmanTree首先用字符集C中每一字符c的频率f(c)初始化优先队列Q。然后不断地从优先队列Q中取出具有最小频率的两棵树x和y,将它们合并为一棵新树z。z的频率是x和y的频率之和。新树z以x为其左儿子,y为其右儿子。经过n-1次的合并后,优先队列中只剩下一棵树,即所要求的树T。物在其结构中的变化以游戏的形式,学习消化系统的结构特点,师生互动,生参与其中培养兴趣小结利用板书小结鸟类适于飞行的特征梳理知识鸟类之所以分布广泛,以上适于飞行的形态结构特点是重要原因之一。课本88页这些鸟你认识吗?它们都会飞吗?为什么?利用问题,让学生明确,生物的结构特点都是与环境相适应的。阅读材料:鸟类与人类关系从人类文明历史揭晓起,鸟类就同人类有着密切的关系。可是鸟类生存的现状却不乐观,鸟类日益减少,有些已经灭绝或濒临灭绝,我们可以做些什么。作业:收集鸟类的生存现状,鸟类减少的原因及我国的十大珍稀鸟类等资料,以爱鸟护鸟为主题以小组为单位办手抄报一份。爱鸟护鸟的情感教育。巩固练习同步学习线形动物和环节动物教学目标知识与技能1.理解蛔虫适于寄生生活的结构和生理特点;2.掌握线形动物和环节动物的主要特征;3.了解蛔虫对人体的危害以及预防感染的方法;4.了解蚯蚓的生活习性和适于穴居生活的形态、结构、生理等方面的特征;5.了解蚯蚓与人类的关系;6.培养学生观察、思考、对比及分析综合的能力。过程与方法1.通过观察蚯蚓的实验,培养观察能力和实验能力;2.通过对观察到的现象分析与讨论,对线形动物和环节动特征的概括,继续培养分析、归纳、综合的思维能力。情感态度价值观1.通过理解蛔虫适于寄生生活的形态、结构、生理特点以及蚯蚓适于穴居生活的特点,进行“生物体的形态结构与功能相适应”的观点教育;2.通过理解蛔虫对人类造成的危害,使学生理解养成良好卫生习惯的重要意义;3.通过了解蚯蚓与人类的关系,进行生命科学价值观的教育。教学重点1.蛔虫适于寄生生活的结构和生理特点;2.蚯蚓的生活习性和适于穴居生活的形态、结构、生理等方面的特征;3.线形动物和环节动物的主要特征。教学难点线形动物和环节动物的主要特征。教学方法与教学手段观察法、实验法、分组讨论法教学准备多媒体课件、活蚯蚓、硬纸板、平面玻璃、镊子、烧杯、水教和学的过程内容教师活动学生活动教学意图引言根据上节课所学习的内容,引出本课课题:章我们学习了腔肠动物和扁形动物,了解了它们的主要特征。这节课就来学习比它们更高等的两类动物。根据学生回答的情况,给出课课题。回答:线形动物和环节动环节动物一、根据蛔虫病引出蛔虫这种典型的线形动物。二、设置问题让学生思考预习。1.观察蛔虫标本,看雌雄蛔虫的形状、大小有什么不同,体色和体表有什么特征。2.观察蛔虫的内部结构,你认为蛔虫的哪些结构特点是与寄生生活相适应的?3.列出常见的线形动物并归纳线形动物的主要特征。4.蛔虫寄生在人体,会引起哪些疾病?5.如何预防蛔虫病?三、引导学生观察蛔虫结构。四、引导学生回答课前问题并总结线形动物的主要特征。五、巩固练习。一、让学生观察蚯蚓引导学生回答蚯蚓的生活环境并引出蚯蚓这种典型的线形动物。二、让学生完成实验并思考以下问题:1、观察蚯蚓身体的形状和颜色。蚯蚓的身体是否分节?在靠近身体前端的几节有什么特殊结构,其颜色是否与其他部位相同?2、用手摸一摸蚯蚓的体表,是干燥还是湿润的?触摸蚯蚓体节近腹面处,是光滑还是粗糙?3、怎样区分蚯蚓的前端和后端?4、蚯蚓在平面玻璃上和牛皮纸上运动的快慢一样吗?为什么?三、请学生列出常见的环节动物并归纳环节动物的主要特征。四、请学生列举蚯蚓的益处。五、巩固练习。六、让学生总结本节课重点并归纳本节课学到的一些学习生物学的基本方法。根据问题自学后回答问题2(2)算法描述importjava.util.Scanner;classHuffmanCode{Stringname;doubleweight;intlc,rc,pa;publicHuffmanCode(){name=;weight=0;lc=-1;rc=-1;pa=-1;}}publicclassHuffman1{HuffmanCode[]codes;String[]huffstring;StringBufferbuffer=newStringBuffer();publicHuffman1(Strings){for(inti=0;is.length();i++){if(buffer.indexOf(s.substring(i,i+1))==-1){buffer.append(s.charAt(i));}}System.out.println(字母:+buffer);huffstring=newString[buffer.length()];codes=newHuffmanCode[2*buffer.length()-1];for(inti=0;i2*buffer.length()-1;i++)codes[i]=newHuffmanCode();for(inti=0;ibuffer.length();i++){codes[i].name=buffer.substring(i,i+1);codes[i].weight=haveNum(buffer.charAt(i),s);}getHuffstring();getCode(2*buffer.length()-2,huffstring,);//for(inti=0;icodes.length;i++){//System.out.println(+i+:+codes[i].name+codes[i].weight++codes[i].lc++codes[i].rc++codes[i].pa);//}for(inti=0;ihuffstring.length;i++){System.out.println(codes[i].name+code:+huffstring[i]);}System.out.println(编码:+getHuffmanCode(s));System.out.println(平均码长为:+getLength());}publicdoublegetLength(){doublen=0;for(inti=0;ibuffer.length();i++){n+=huffstring[i].length();}returnn/buffer.length();}publicStringgetHuffmanCode(Strings){StringBufferbuf=newStringBuffer();for(inti=0;is.length();i++){buf.append(getEachCode(s.substring(i,i+1)));}returnbuf.toString();}publicStringgetEachCode(Stringname){for(inti=0;ibuffer.length();i++){if(name.equals(codes[i].name)){returnhuffstring[i];}}return;}publicvoidgetCode(intn,String[]thecodes,Stringthebuffer){if(nthecodes.length){thecodes[n]=thebuffer;return;}getCode(codes[n].lc,thecodes,thebuffer+0);getCode(codes[n].rc,thecodes,thebuffer+1);}publicvoidgetHuffstring(){int[]twos={0,0};for(inti=buffer.length();i2*buffer.length()-1;i++){物在其结构中的变化以游戏的形式,学习消化系统的结构特点,师生互动,生参与其中培养兴趣小结利用板书小结鸟类适于飞行的特征梳理知识鸟类之所以分布广泛,以上适于飞行的形态结构特点是重要原因之一。课本88页这些鸟你认识吗?它们都会飞吗?为什么?利用问题,让学生明确,生物的结构特点都是与环境相适应的。阅读材料:鸟类与人类关系从人类文明历史揭晓起,鸟类就同人类有着密切的关系。可是鸟类生存的现状却不乐观,鸟类日益减少,有些已经灭绝或濒临灭绝,我们可以做些什么。作业:收集鸟类的生存现状,鸟类减少的原因及我国的十大珍稀鸟类等资料,以爱鸟护鸟为主题以小组为单位办手抄报一份。爱鸟护鸟的情感教育。巩固练习同步学习线形动物和环节动物教学目标知识与技能1.理解蛔虫适于寄生生活的结构和生理特点;2.掌握线形动物和环节动物的主要特征;3.了解蛔虫对人体的危害以及预防感染的方法;4.了解蚯蚓的生活习性和适于穴居生活的形态、结构、生理等方面的特征;5.了解蚯蚓与人类的关系;6.培养学生观察、思考、对比及分析综合的能力。过程与方法1.通过观察蚯蚓的实验,培养观察能力和实验能力;2.通过对观察到的现象分析与讨论,对线形动物和环节动特征的概括,继续培养分析、归纳、综合的思维能力。情感态度价值观1.通过理解蛔虫适于寄生生活的形态、结构、生理特点以及蚯蚓适于穴居生活的特点,进行“生物体的形态结构与功能相适应”的观点教育;2.通过理解蛔虫对人类造成的危害,使学生理解养成良好卫生习惯的重要意义;3.通过了解蚯蚓与人类的关系,进行生命科学价值观的教育。教学重点1.蛔虫适于寄生生活的结构和生理特点;2.蚯蚓的生活习性和适于穴居生活的形态、结构、生理等方面的特征;3.线形动物和环节动物的主要特征。教学难点线形动物和环节动物的主要特征。教学方法与教学手段观察法、实验法、分组讨论法教学准备多媒体课件、活蚯蚓、硬纸板、平面玻璃、镊子、烧杯、水教和学的过程内容教师活动学生活动教学意图引言根据上节课所学习的内容,引出本课课题:章我们学习了腔肠动物和扁形动物,了解了它们的主要特征。这节课就来学习比它们更高等的两类动物。根据学生回答的情况,给出课课题。回答:线形动物和环节动环节动物一、根据蛔虫病引出蛔虫这种典型的线形动物。二、设置问题让学生思考预习。1.观察蛔虫标本,看雌雄蛔虫的形状、大小有什么不同,体色和体表有什么特征。2.观察蛔虫的内部结构,你认为蛔虫的哪些结构特点是与寄生生活相适应的?3.列出常见的线形动物并归纳线形动物的主要特征。4.蛔虫寄生在人体,会引起哪些疾病?5.如何预防蛔虫病?
本文标题:【VIP专享】实验三-贪心算法
链接地址:https://www.777doc.com/doc-5478404 .html