分治策略实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 0综合性、设计性实验报告姓名________学号_专业 计算机科学与技术 班级2008级 班实验课程名称 算法设计与分析 指导教师及职称 开课学期 2010 至 2011 学年 上 学期上课时间 2010年 10 月 11 日 PAGE 一、实验设计方案实验名称:分治策略实例编程实验时间: 2010-10-11小组合作: 是○ 否○小组成员:1、实验目的: 理解分治策略的基本思想掌握分治策略的一般设计模式针对具体问题,能应用分治策略设计有效算法用C++实现算法,并且分析算法的效率2、实验设备及材料:(注意:请自行填写,按实际情况写,各位同学的实验报告应有所区别)硬件设备: pc机器配置: AMD Athlon(tm)II x2 240 2.80GHz 、2.0GB内存操作系统: Windows xp开发工具: vc++6.03、实验内容: ①问题描述给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。②编程任务对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。③样例例如,S={1,2,2,2,3,5}。多重集S的众数是__2______,其重数为_________3____。 4、实验方法步骤及注意事项:(注意:此部分为本实验的关键部分,请自行填写,不得雷同!)①分治算法的设计模式(参考教材15页自行填写)将原问题分为n个子问题(n为最合适)设计程序的递归算法调试算法②解题思路(注意:以下部分仅为提示,请自行填写;若表格不够,可自行拉伸。)首先用自然语言概述分治法求解众数问题的算法步骤。从文件中读取数据对数据进行升序排列。当i==0时,将q1[0][0]加1(i下标元素出现的次数),将q[0]赋给q1[0][1](保存i下标元素)当i!=0时,先对q[i]与q1[k][1]进行比较,判断q[i]是否出现过,如在q1[k][1]中出现,则对q1[k][0]加1,否则将将q[i]存入q1[k+1][1]中,并对q1[k+1][0]进行加1操作。当i==n时,退出算法.如i!=n,将i+1,调用此算法,进行下一元素的判断。给出使用分治策略求解众数问题的算法,用C++语言描述。Static int k=0; void zhongshu(int *q,int **q1,int n,int i){ if(i==0) { q1[0][0]++;q1[0][1]=q[0]; } else { if(q[i]==q1[k][1]) q1[k][0]++; else { k++; q1[k][0]++; q1[k][1]=q[i]; } } if(i==n) return ; zhongshu(q,q1,n,i+1);}5.实验数据处理方法:①数据输入输入数据由文件名为input.txt的文本文件提供。文件的第1行多重集S中元素个数n;接下来的n 行中,每行有一个自然数。②结果输出程序运行结束时,将计算结果输出到文件output.txt中。输出文件有2 行,第1 行给出众数,第2 行是重数。 6.参考文献:《计算机算法设计与分析(第3版)》 王晓东著 电子工业出版社《算法设计与实验题解》王晓东著 电子工业出版社指导老师对实验设计方案的意见:指导老师签名: 2010 年 10 月 17 日二、实验报告1、实验目的、设备与材料、实验内容、实验方法步骤见实验设计方案2、实验现象、数据及结果(请自行填写真实结果)序号输入文件(input.txt)输出文件(output.txt)0.6231222351.101521321211212.50386371113153103125147185613113147751014121241410511115113123121555111443119对实验现象、数据及观察结果的分析与讨论:本实验顺利通过测试。以上面序号为0进行分析,首先对数据进行升序排列,1为未在[k][1]中出现,则将1存入另一二维数[i][1]中,并对[i][0]进行加1 操作,表示此元素出现的次数,当循环到下一元素2时, [k][1]与2不等,则将k=k+1(表示另一新元素出现),[k][1]=2,[k][0]++, 再次循环到第2个2 时,[k][1]中存在2,则只将[k][0]加1,…….,一直到最后一个元素。4、结论:算法正确,算法采用递归

文档评论(0)

beifanglei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档