1 / 3
文档名称:

递归算法和非递归算法的区别和转换.doc

格式:doc   大小:43KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

递归算法和非递归算法的区别和转换.doc

上传人:762357237 2019/2/25 文件大小:43 KB

下载得到文件列表

递归算法和非递归算法的区别和转换.doc

文档介绍

文档介绍:递归算法和非递归算法的difference和转换递归算法实际上是一种分而治之的方法,它把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔问题),递归算法是一种自然且合乎逻辑的解决问题的方式,但是递归算法的执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;另外,有些程序设计语言不支持递归,这就需要把递归算法转换为非递归算法。将递归算法转换为非递归算法有两种方法,一种是直接求值,不需要回溯;另一种是不能直接求值,需要回溯。前者使用一些变量保存中间结果,称为直接转换法;后者使用栈保存中间结果,称为间接转换法,下面分别讨论这两种方法。,将递归结构用循环结构来替代。尾递归是指在递归算法中,递归调用语句只有一个,而且是处在算法的最后。例如求阶乘的递归算法:longfact(intn){ if(n==0)return1; elsereturnn*fact(n-1);}当递归调用返回时,是返回到上一层递归调用的下一条语句,而这个返回位置正好是算法的结束处,所以,不必利用栈来保存返回信息。对于尾递归形式的递归算法,可以利用循环结构来替代。例如求阶乘的递归算法可以写成如下循环结构的非递归算法:longfact(intn){ ints=0; for(inti=1;i s=s*i;//用s保存中间结果 returns;}单向递归是指递归算法中虽然有多处递归调用语句,但各递归调用语句的参数之间没有关系,并且这些递归调用语句都处在递归算法的最后。显然,尾递归是单向递归的特例。例如求斐波那契数列的递归算法如下:intf(intn){ if(n==1||n==0)return1; elsereturnf(n-1)+f(n-2);}对于单向递归,可以设置一些变量保存中间结构

最近更新

2025年山西工程职业学院单招职业倾向性考试题.. 44页

社区工作者考试300题附答案(达标题) 94页

2025年山西金融职业学院单招职业技能考试必刷.. 43页

2025年巴中职业技术学院单招职业倾向性考试必.. 46页

精选仪器设备购销合同(2025版) 16页

2025年广东女子职业技术学院单招职业技能测试.. 44页

2025年广东江门中医药职业学院单招综合素质考.. 43页

2025年广东省揭阳市单招职业适应性考试必刷测.. 45页

舞蹈教室场地租赁合同(2025版) 11页

儿童康复训练协议书(五篇) 7页

高速半导体存储技术-洞察阐释 35页

神发育迟滞医学知识 14页

货物买卖合同范文2025年通用 12页

2025年开封大学单招职业技能考试必刷测试卷附.. 44页

车辆货物运输标准合同书2025年通用 17页

2025年揭阳职业技术学院单招职业倾向性考试题.. 44页

2025年新疆建设职业技术学院单招职业倾向性考.. 45页

2025年日照航海工程职业学院单招职业技能考试.. 44页

动态数据可视化2025阅读社群成果汇报专用框架.. 23页

工笔花鸟主题2025绿色能源技术突破成果展示PP.. 20页

耳朵皮肤专题知识讲座 7页

铺面租赁合同样本(2025版) 10页

高速公路劳务分包合同示范文本2025年通用 15页

天然植物成分护肤指南PPT设计二零二五实验版 21页

(新版)导游资格证考试题库带答案(轻巧夺冠).. 29页

2025年一级注册建筑师之建筑材料与构造题库附.. 131页

2025年二级注册建筑师之建筑结构与设备题库50.. 134页

2025年全国保密教育线上培训考试试题库【突破.. 7页

2025年全国保密教育线上培训考试题库及参考答.. 4页

人工智能在中国护理教育中的应用现状与未来发.. 22页