算法分析与设计课程设计实验报告-求最大公约数实验报告实验(含源程序)精选.docVIP

算法分析与设计课程设计实验报告-求最大公约数实验报告实验(含源程序)精选.doc

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析与设计课程设计实验报告-求最大公约数实验报告实验(含源程序)精选

昆明理工大学信息工程与自动化学院学生实验报告 ( 2011 —2012 学年 第 1 学期 ) 课程名称:算法分析与设计 开课实验室:信自楼机房445 2011 年10月 12日 年级、专业、班 计科092 学号 1 姓名 刘召 成绩 实验项目名称 求最大公约数 指导教师 张晶 教师评语 该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 教师签名: 年 月 日 一、上机目的及内容 上机内容 求两个自然数m和n的最大公约数。 上机目的 (1)复习数据结构课程的相关知识,实现课程间的平滑过渡; (2)掌握并应用算法的数学分析和后验分析方法; (3)理解这样一个观点:不同的算法能够解决相同的问题,这些算法的解题思路不同,复杂程度不同,解题效率也不同。 二、实验原理及基本技术路线图(方框原理图或程序流程图) (1)至少设计出三个版本的求最大公约数算法; 所设计的3个版本分别是:连续整数检测算法、欧几里得算法和分解质因数算法。 这3 个算法的流程图分别如下所示: 对所设计的算法采用大O符号进行时间复杂性分析; 在连续整数检测算法中,由于其最坏的情况是m与n除以t均不为0,直到t接近于0为止,此时所需时间接近m和n的较小者的值; 在欧几里得算法中,最坏的情况是每次所得的都比n略小一点;但此时,它的数据还是以n倍递减; 在分解质因数算法中,关键是分解质因数的时间复杂度和将所得质因数相乘合并的时间复杂度;在对m和n分解质因数时,最坏的情况是m和n的质因数都还是m和n;分解m和n用的时间复杂度是: ;对于所得到的质因数求出它们的公共质因数时最坏的情况是有较多的质因数,且两组质因数之间没有公共质因数,此时时间复杂度是两组质因数数目之平方;然而,对于所得到的质因数数量极为有限,因此对于最坏情况下的m和n的分解质因数,所得到的质因数的数量就更少,此时可以把对于质因数合并得公共质因数的时间复杂度忽略不计;最坏的时间复杂度是: 上机实现算法,并用计数法和计时法分别测算算法的运行时间; 在我的电脑测试所得到的部分数据表格: 连续整数检测时间(秒) 欧几里得时间(秒) 分解质因数时间(秒) 最大公约数 2 98.5 0 0 570 10.92 0 0.001 1302 97777 0.099 0 0.016 1 0.934 0 0.154 23 713 4.267 0 8.87 3 1731 1.535 0 4.042 1 21 11.453 0 0.06 1 54.199 0 56.386 2 998 0.821 0 13.718 2 6.937 0 48.904 1 0.77 0 0.032 5 0.212 0 0.005 1 3.932 0 24.061 5 28.013 0 3.869 2 43.062 0 0.23 1 369 38.996 0 0.132 3 平均使用时间 19. 0 10.03 更多测试数据请参见附录:数据测试清单!也可运行程序: 两个正整数最大公约数求解简易系统(32位).exe自己进行数据测试。 通过分析对比,得出自己的结论。 通过以上可以得知,欧几里得算法的性能最优,而分解质因数算法和连续整数检测算法的效率差不多,但是,当两个数据相差很大时,连续整数检测算法可能会比分解质因数算法占优势;当两个数所得到的最大质因数都较小时,分解质因数算法可能比连续整数检测算法占优势。 三、所用仪器、材料(设备名称、型号、规格等或使用软件) 1台PC及Visual Studio 2005软件 四、实验方法、步骤(或:程序代码或操作过程) // 两个正整数最大公约数求解简易系统.cpp : 定义控制台应用程序的入口点。 /**该系统是为了计算两个正整数的最大公约数 *该系统是在Visual Studio 2005环境下编辑的,并通过Visual Studio 2005环境下编译与运行 *该版本使用了Boost函数库中的timer.hpp库函数,关于boost函数库可以参考网络上的boost社区 *该程

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档