共查询到20条相似文献,搜索用时 15 毫秒
1.
2.
3.
递归算法的非递归实现 总被引:5,自引:0,他引:5
孙涌 《计算机研究与发展》1995,32(11):1-7
递归以其算法简单清晰、可读性强及易实现而具有很好的理论,但在实际应用时,递归过程用到的大量数据不管有用无用都需要保存,而当递归层次多到一定程度,将耗尽系统内存资源,因此很少在真正的实际应用中使用,实用性较差。如果可以设计出一种既保持递归算法简单、清晰、易实现的优点,双能避免递归算法极耗内存缺陷的新型递归算法,将是一件十分有意义的事情。 相似文献
4.
曹翊旺 《计算技术与自动化》1994,13(1):38-45
递归算法简单自然、结构清晰、易写易读、易于验证其正确性,但执行效率不高。因此,在程序设计中,通常对所要处理的问题先用递归算法加以描述,然后再将其改写成非递归算法。本文从四个方面论述了递归算法的模拟问题。 相似文献
5.
7.
二叉树遍历递归算法非递归化的讨论 总被引:3,自引:0,他引:3
尽管递归算法具有结构简炼、清晰、可读性强等优点,但递归算法在执行过程会耗费太多的时间和空间,为了追求算法的时空效率,必须将递归算法转化为非递化算法,问题才能得到有效解决,本文讨论了在递归算法执行过程中栈的变化和给出了改进的非递归化算法。 相似文献
8.
递归算法的非递归化实现 总被引:14,自引:0,他引:14
由递归算法直接转换成相应的非递归算法能有效地提高程序的执行效率,本文列出了几类递归算法的非递归化实现方法,分别说明了这几类递归算法的特点及算法实例,并给出了相应的非递归算法。 相似文献
9.
吴江 《电脑编程技巧与维护》2018,(9):69-70,102
介绍了递归的基本定义和原则,并尝试用递归方法解决斐波那契数列问题,用画图的方式对递归过程进行可视化研究,用递归方法解决汉诺塔难题. 相似文献
10.
由递归算法直接转换成相应的非递归算法能有效地提高程序的执行效率。本文针对一个企业材料截断应用案例.通过数学建模、算法分析与实现,证明效果很好。 相似文献
11.
关于Hanoi塔问题的非递归算法,已有了大量的研究[1 ̄4]。实验表明,当圆盘数目较少时,现有的非递归算法的执行速度比递归算法要快一些,但是随着圆盘数目的增加,现有的非递归算法的执行速度会逐渐变得比递归算法慢。论文提出了一种基于压缩编码的非递归新算法,在压缩了存储空间的同时,提高了算法的执行速度。实验结果表明,对于任意圆盘数目n,论文所实现的非递归算法的执行速度比现有的递归算法和非递归算法都有成倍的提高。 相似文献
12.
13.
虽然递归算法具有结构简练、清晰、可读性强等优点,但有时受执行效率和程序设计语言的限制,必须实现递归向非递归的转换.提出一个通用的算法框架实现一般递归算法向非递归算法的转换.该框架产生的非递归算法没有标号,适用于大多数程序设计语言.结合几个典型的实例说明该框架的应用方法和有效性. 相似文献
14.
赵东跃 《计算机应用与软件》2008,25(5):241-243
汉诺塔(Tower of Hanoi)问题是求在三个柱子之间移动圆盘的方法,它是递归程序设计的经典例子,已经证明其时间复杂度下限是O(2n),空间复杂度是O(n),实际使用时很容易溢出.给出汉诺塔问题的两个非递归算法:解集递推法和解集树法.解集递推法的时间复杂度和空间复杂度都是O(2n),该算法空间复杂度很大,无法实际使用,提出该算法的目的是为了引出解集树法.解集树法可以计算出指定的任意一步移动方法,时间复杂度和空间复杂度分别是O(n*2n)和O(1).并证明了汉诺塔问题的空间复杂度下限是O(1). 相似文献
15.
递归算法的非递归化研究 总被引:7,自引:0,他引:7
1 引言在工程实际中,有许多概念是用递归来定义的,数学中的许多函数也用递归来表达。一个递归算法的执行过程类似于多个函数的嵌套调用,只是主调函数和被调函数是同一个函数而已,在执行过程中,信息的传递和控制的转移必须通过栈来实现,这就导致空间耗费大,执行效率较低,尤其是当递归深度较深时,不但耗费的空间大而且执行的效率也相当低,这是递归算 相似文献
16.
17.
18.
基于状态机的递归算法非递归化框架 总被引:1,自引:0,他引:1
《计算机应用与软件》2018,(4)
由递归程序转换到非递归程序可以避免栈内存溢出问题并可以提高算法效率。借助状态机编程的思想,提出一种递归到非递归转换的框架。将函数的调用和返回过程看作是状态的转换,并将递归过程模拟为"进入函数"、"进入递归点"、"从递归点返回"等状态。实验中,将几种具有代表性的递归算法转换为非递归算法,从转换后代码可以看出,提出的框架与"while-while"和"while-if"等常见框架相比,具有结构清晰、代码简洁和转换过程程序化强的优点。 相似文献
19.
本文讨论了对采用回溯法求解的问题设计递归算法程序的方法,同时,对几个较典型的问题,给出了采用回溯法求解时的递归算法程序。 相似文献
20.
本文提出遍历文件夹及其中子文件夹中所有文件的递归和非递归两种算法,并给出了实现算法的Pascal源程序关键片段,及算法分析。 相似文献