



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验01熟悉环境和递归算法学号: 姓名: 日期:实验目的1. 熟悉Java上机环境;2. 基本掌握递归算法的原理方法.预习要求1. 认真阅读算法设计教材,了解递归算法原理;2. 设计用递归算法求解阶乘函数、Ackerman函数、排列问题、整数划分问题的递归程序.实验题1. 将正整数n表示成一系列正整数之和:n=n1+n2+nk,其中n1n2nk1,k1。正整数n的这种表示称为正整数n的划分。求正整数n的不同划分个数。 2. 设计一个递归算法生成n个元素r1,r2,rn的全排列。3. Hanoi塔问题设a,b,c是3个塔座。开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,n,现要求将塔座a上的圆盘移到塔座b上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:规则1:每次只能移动1个圆盘;规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;规则3:在满足移动规则1和2的前提下,可将圆盘移至a,b,c中任一塔座上。实验步骤1. 设计并实现算法并准备测试用例,修改并调试程序,直至正确为止;2. 应用设计的算法和程序求解问题;3. 将程序整理成功能模块存盘备用.实验内容1. 整数划分问题 正整数n的不同的划分个数称为正整数n的划分数,记作p(n)。在正整数n的所有不同的划分中,将最大加数n1不大于m的划分个数记作q(n,m)。可以建立q(n,m)的如下递归关系。(1) q(n,1)=1,n1。当最大加数n1不大于1时,任何正整数n只有一种划分形式。(2) q(n,m)=q(n,n),mn。最大加数n1实际上不能大于n。因此,q(1,m)=1。(3) q(n,n)=1+q(n,n-1)。正整数n的划分由n1=n的划分和n1n-1的划分组成。(4) q(n,m)=q(n,m-1)+q(n-m,m),nm1。正整数n的最大加数n1不大于m的划分由n1=m的划分和n1m-1的划分组成。(5) 据此,可设计计算q(n,m)的递归算法如下。其中,正整数n的划分数p(n)=q(n,n)。2. 排列问题设R=r1,r2,rn是要进行排列的n个元素,Ri=R-ri。集合X中元素的全排列记为perm(X)。(ri)perm(X)表示在全排列perm(X)的每一个排列前加上前缀ri得到的排列。R的全排列可归纳定义如下:当n=1时,perm(R)=(r),其中r是集合R中唯一的元素。当r1时,perm(R)由(r1)perm(R1),(r2)perm(R2),.(rn)perm(Rn)构成。依次递归定义,可设计产生perm(R)的递归算法如下:3. Hanoi塔问题当n=1时,问题比较简单,只要将编号为1的圆盘从塔座a直接移至塔座b上即可。当n1时,需要利用塔座c作为辅助塔座。此时若能设法将n-1个较小的圆盘依照移动规则从塔座a移至塔座c,然后,将剩下的最大圆盘从塔座a移至塔座b,最后,再设法将n-1个较小的圆盘依照移动规则从塔座c移至塔座b。由此可见,n个圆盘的移动问题可分为两次n-1个圆盘的移动问题,这又可以递归地用上述方法来做。由此可以设计出解Hanoi塔问题的递归算法如下:其中,hanoi(n,a,b,c)表示将塔座a上自上而下,由大到小叠在一起的n个圆盘依移动规则移至塔座b上并仍按同样顺序叠放。在移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训沟通能力课程
- 危险的工地课件
- 科学技术试题库及答案
- 交通银行2025白山市秋招笔试价值观测评题专练及答案
- 农业银行2025海南藏族自治州秋招无领导小组面试案例题库
- 2025年3D打印技术的个性化医疗器械
- 农业银行2025九江市秋招半结构化面试题库及参考答案
- 邮储银行2025长沙市笔试英文行测高频题含答案
- 邮储银行2025达州市秋招无领导小组面试案例题库
- 2025行业未来十年发展趋势预测
- 中国人民大学新闻学院《440新闻与传播专业基础》专业硕士历年考研真题
- 二年级奥数(从课本到奥数-第一学期B版)
- 山西省洪洞西区块勘查实施方案
- 信贷欺诈与反欺诈技术
- 小额贷款信贷风险管理制度样本
- 2023年全国普通高等学校体育单招真题政治试卷(原卷+解析)
- 吊篮施工验收标准及规范
- 区域分析与规划课件
- 银行养生沙龙策划方案
- 《孕产期保健》课件
- 《屋面防水》课件
评论
0/150
提交评论