首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 62 毫秒
1.
本文提出一种递归消除的方法,适于一类基于递归数据结构的程序。该方法将递归程序作为初始规约,以求解过程的状态变迁序列作迭代模式;通过数据展开和变换实现初始规约向基于序列描述规约的变换,继而用PAR形式推导出序列规约的递推关系,并以之为核心近乎机械地构造出非递归算法。树和图的两个算法实例说明了本方法的有效性。  相似文献   

2.
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率。本文给出了两种将递归问题的递归算法转换成非递归算法的有效方法,并以具体实例加以说明。  相似文献   

3.
算法思维是计算思维的一个方面,而在计算机科学中,基于递归和迭代的思维方式在算法和程序设计中广泛应用,是算法思维的重要构成部分。因此,信息技术学科教师在基础课教学中辨析递归与迭代算法,将其作为发展学生计算思维的一项内容,值得探索和实践。  相似文献   

4.
递归算法的非递归化实现   总被引:14,自引:0,他引:14  
由递归算法直接转换成相应的非递归算法能有效地提高程序的执行效率,本文列出了几类递归算法的非递归化实现方法,分别说明了这几类递归算法的特点及算法实例,并给出了相应的非递归算法。  相似文献   

5.
递归算法通过直接或间接调用自身算法来进行运算,在程序开发中用于解决大类问题非常有效,能使描述更为简单易懂,不过存在运行效率较低问题。本文在分析递归算法与迭代算法优缺点的基础上,就递归算法在管理系统权限模块中的应用进行了浅要的探讨,有一定的借鉴参考价值。  相似文献   

6.
递归算法通过直接或间接调用自身算法来进行运算,在程序开发中用于解决大类问题非常有效,能使描述更为简单易懂,不过存在运行效率较低问题。本文在分析递归算法与迭代算法优缺点的基础上,就递归算法在管理系统权限模块中的应用进行了浅要的探讨,有一定的借鉴参考价值。  相似文献   

7.
递归问题的非递归实现方法的应用研究   总被引:1,自引:0,他引:1  
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率.本文将递归问题分成简单递归问题和复杂递归问题;简单递归问题的非递归实现采用递推技术加以求解,复杂递归问题则根据问题求解的特点采用两类非递归实现算法,使用栈加以实现.  相似文献   

8.
虽然递归算法具有结构简练、清晰、可读性强等优点,但有时受执行效率和程序设计语言的限制,必须实现递归向非递归的转换.提出一个通用的算法框架实现一般递归算法向非递归算法的转换.该框架产生的非递归算法没有标号,适用于大多数程序设计语言.结合几个典型的实例说明该框架的应用方法和有效性.  相似文献   

9.
递归程序变换成非递归程序的方法   总被引:1,自引:0,他引:1  
王世著  郭福顺 《小型微型计算机系统》1989,10(6):《小型微型计算机系统》-1989年10卷6期-11-18.2页-《小型微型计算机系统》-1989年10卷6期-11-18.2页
本文讨论将高级语言编写的递归程序自动地变换成非递归程序的变换规则和变换算法。  相似文献   

10.
为了培养学习编程的逆向思维,运用分治思想的递归算法提高解决问题的能力,理解分治和递归的关系,掌握递归算法解决问题的条件和原理是十分必要的。从提出问题、分析问题、抽象问题的特征、解决问题和分析递归算法的局限性的过程,运用比较法比较迭代与递归之间的关系,结合具体问题,对理解递归算法解决问题给出了有效的方法。用分治的递归方法求解问题,其结构简单,可读性强,但是递归算法理解起来有一定难度,研究了递归算法的特征、递归与分治之间的关系、递归与迭代之间的关系,根据时间和空间复杂度,给出了递归算法的深度建议。实践的结果证明,采用这样的方式,能够帮助读者理解逆向思维和分治思想的本质,提升运用递归算法解决生活和学习中的问题的能力。  相似文献   

11.
递归算法简单自然、结构清晰、易写易读、易于验证其正确性,但执行效率不高。因此,在程序设计中,通常对所要处理的问题先用递归算法加以描述,然后再将其改写成非递归算法。本文从四个方面论述了递归算法的模拟问题。  相似文献   

12.
仇闽霞 《福建电脑》2008,24(12):203-204
递归算法是程序设计中的一种有力的工具,许多问题采用递归方法来编写求解程序.使程序非常简洁而清晰。本文针对学生在学习程序设计课程时对递归算法难以理解及掌握等情况,阐述了递归算法的本质及解决问题的思路。  相似文献   

13.
汉诺塔非递归算法   总被引:1,自引:0,他引:1  
分析汉诺塔递归算法的特点,由递归算法,结合二叉树的中序遍历算法,提出汉诺塔二叉树的概念及创建方法,并证明汉诺塔二叉树特点。由此进一步导出兼顾时间效率与空间效率的非递归算法。最后,提供实现算法的C语言程序。  相似文献   

14.
递归与栈     
许多高级语言都能实现递归的程序设计方法,而递归在许多时候都是极有利的工具,如数学中的迭代公式计算和汉诺塔、八皇后等问题的解决都应用到了递归。 迭代公式的一个例子是阶乘的计算,f(n)=n!=1×2×…×n,可以表示为  相似文献   

15.
在数据结构基础上使用程序递归算法设计是目前进行软件开发应用最广泛的方法.使用递归算法进行程序编写可以减少很多操作细节,从而简化程序编写,而且递归算法结构简单且清晰,易读性比较强,最大的优势递归算法正确率高、验证比较方便.对递归程序算法的应用进行了分析,并探讨了递归算法的实现策略.  相似文献   

16.
递归做为一种算法设计思想在求解实际问题和程序设计中广泛应用,采用递归设计的算法具有思路清晰、易于描述复杂问题等优点。文中对递归算法的理论依据、设计思想、应用、递归的内部执行过程做了较为全面的探讨,并以火车进站问题为例,重点分析了如何根据问题的递归表达函数扩充为递归算法。同时,对递归的非递归化作了较为深入的分析和探讨,并给出了实例源程序。理论分析和实践证明,在具体应用问题中,通过寻找问题对应的递归表达函数,可以容易和准确地设计出求解的递归算法,提高算法设计效率。  相似文献   

17.
递归算法的主要作用是把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔问题),递归算法是一种自然且合乎逻辑的解决问题的方式,但是递归算法的执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;另外,有些程序设计语言不支持递归,这就需要把递归算法转换为非递归算法。  相似文献   

18.
一般而言,要把并行递归程序转化为等价的尾递归程序(它直接对应于循环迭代程序)是十分困难的。本文指出,具有某种性质的两类(分别称为α类和β类)并行递归程序可以转化为等价的尾递归程序,从而具有较高的时空运行效率。  相似文献   

19.
朱长元 《计算机与现代化》2011,(12):185-187,190
由递归算法直接转换成相应的非递归算法能有效地提高程序的执行效率。本文针对一个企业材料截断应用案例.通过数学建模、算法分析与实现,证明效果很好。  相似文献   

20.
递归算法设计及效率分析   总被引:1,自引:0,他引:1  
递归算法是非常常用和实用的程序设计方法,递归算法的效率问题值得去研究,给出针对递归算法的一般性分析方法:递推式计算法和递归调用树法,并通过实例加以说明。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号