- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深圳大学 计算机导论 raptor实验
深 圳 大 学 实 验 报 告 课程名称: 计算机导论实验 实验项目名称: 算法设计工具的使用 学院: 计算机与软件学院 专业: 指导教师: 报告人: 学号: 班级: 实验时间: 2016.10.20 实验报告提交时间: 2016.11.22 教务处制实验目的了解穷举法、回溯法、递归算法的求解问题的计算步骤;2.学会使用raptor简单编程,如百钱百鸡问题、八皇后问题、Fibonacci数列和汉诺塔问题。实验环境硬件环境:PC软件环境:Windows7中文版,Raptor。实验步骤:一、 Raptor的下载安装与简单操作 1.下载软件:在浏览器中输入下面的网址,回车后进入raptor的官网。然后点击“Download latest version”,下载最新的版本进行安装。2. 软件的基本介绍Raptor有两个窗口:程序设计窗口和主控制台窗口。各个图形的作用B.常量:Raptor定义了四个常量Pi(圆周率)=3.1415;e(自然对数的底)=2.7183;true/yes(布尔值:真)=1;false/no(布尔值:假)=0; 3.基本操作 A.赋值赋值窗口 B.输入/输出输出和输入类似。C.选择/循环循环和选择类似,填循环条件。4.常见错误:二、基本算法 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。接下来介绍穷举、回溯、递归三种算法。穷举法穷举法也称为枚举法,它的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法用时间上的牺牲换来了全面保证性。穷举法的基本思路: 确定穷举对象,对象所应该满足的约束条件和确定对象是否满足解的判定条件。 一一穷举每一种可能的解,验证是否满足问题的解。用穷举法解题时,就是按照某种方式列举问题答案的过程。针对问题的数据类型而言,常用的列举方法一有如下三种:(1)顺序列举:是指 答案范围内的各种情况很容易与自然数对应甚至就是自然数,可以按自然数的变化顺序去列举。(2)排列列举:有时答案的数据形式是一组数的排列,列举出所有答案所在范围内的排列,为排列列举。(3)组合列举:当答案的数据形式为一些元素的组合时,往往需要用组合列举。组合是无序的。回溯法回溯法是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”.基本思想在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯(其实回溯法就是对隐式图的深度优先搜索算法)。 若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。 而若使用回溯法求任一个解时,只要搜索到问题的一个解就可以结束用回溯法解题的一般步骤:(1)针对所给问题,定义问题的解空间;(2)确定易于搜索的解空间结构;(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。递归程序调用自身的编程技巧称为递归。递归,就是在运行的过程中调用自己。递归 做 为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。构成递归需具备的条件: 1. 子问题须与原始问题为同样的事,且更为简单;2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。三、 Raptor编程百钱百鸡问题 (用穷举法解决)问题:今有鸡翁一,值钱伍;鸡母一 ,值钱三;鸡鶵三,值钱一 。凡百钱买鸡百只,问鸡翁、母、鶵各几何?百钱百鸡实际上是一个求不定方程整数解的问题。解法如下:设公鸡、母鸡、小鸡分别为x、y、z 只,:①……x +y+ z =100②……5x+3y+(
您可能关注的文档
- 数值分析课程设计报告(matlab版)实验报告.pdf
- 数值计算方法实验报告(西安工程大学附有程序).docx
- 数学实验matlab程序设计基础与绘图.ppt
- 数学实验线性代数中的matlab命令.ppt
- 数学建模 数学实验---插值及案例.pdf
- 数据库应用系统开发实验指导(第3版).doc
- 数据结构大型实验实验报告.pdf
- 数据结构实验++++++报告++++++++g计141-韩坚.doc
- 数据结构实验1报告+g计算机141-韩坚.doc
- 数据结构实验报告(c语言)(强力推荐).pdf
- 高三生物一轮复习课件第8课时 酶和ATP.pptx
- 高三生物一轮复习课件 细胞中的元素和化合物,细胞中的无机物.pptx
- 2025年中考物理复习答题技巧与模板构建专题04热学必考的三个重点实验(解析版).docx
- 高三生物一轮复习课件:细胞核的结构和功能.pptx
- 高三生物一轮复习课件:光合作用的影响因素及其应用课件.pptx
- 高三生物一轮复习课件:细胞膜与细胞核.pptx
- 高三生物一轮复习课件蛋白质与核酸.pptx
- 高三一轮复习生物:细胞呼吸的原理和应用课件(1).pptx
- 高三生物一轮复习课件第8讲+酶和ATP.pptx
- 2.2基因在染色体上课件高一下学期生物人教版(2019)必修2 (2).pptx
文档评论(0)