共查询到20条相似文献,搜索用时 15 毫秒
1.
递归算法的非递归化实现 总被引:14,自引:0,他引:14
由递归算法直接转换成相应的非递归算法能有效地提高程序的执行效率,本文列出了几类递归算法的非递归化实现方法,分别说明了这几类递归算法的特点及算法实例,并给出了相应的非递归算法。 相似文献
2.
3.
关于Hanoi塔问题的非递归算法,已有了大量的研究[1 ̄4]。实验表明,当圆盘数目较少时,现有的非递归算法的执行速度比递归算法要快一些,但是随着圆盘数目的增加,现有的非递归算法的执行速度会逐渐变得比递归算法慢。论文提出了一种基于压缩编码的非递归新算法,在压缩了存储空间的同时,提高了算法的执行速度。实验结果表明,对于任意圆盘数目n,论文所实现的非递归算法的执行速度比现有的递归算法和非递归算法都有成倍的提高。 相似文献
4.
对于三柱汉诺塔的非递归算法,通过递归算法递归展开的满二叉树结构,可以找出其每层移动规律;通过研究发现,对于四柱汉诺塔的非递归算法,同样可以通过递归算法递归展开得到关于三柱汉诺塔为结点的一棵满二叉树,并发现其每层移动规律,实现四柱汉诺塔非递归算法。 相似文献
5.
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率。本文给出了两种将递归问题的递归算法转换成非递归算法的有效方法,并以具体实例加以说明。 相似文献
6.
针对递归算法在处理树型数据结构的相关问题时具有较好出的较好能力,本文主要研究了C/C++语言在树型数据结构中递归算法的设计与实现,并对比了递归算法和非递归算法,得出递归算法能够大幅度节省系统空间。 相似文献
7.
介绍了算法设计技术分治法的应用。使用分治法实现了循环赛日程表的递归和非递归解,并作了较为详细的说明,供《算法设计与分析》课程教学参考。 相似文献
8.
9.
才让扎西 《数字社区&智能家居》2013,(8):1824-1825
递归算法的主要作用是把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔问题),递归算法是一种自然且合乎逻辑的解决问题的方式,但是递归算法的执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;另外,有些程序设计语言不支持递归,这就需要把递归算法转换为非递归算法。 相似文献
10.
11.
通过对 Hanoi塔问题的研究 ,给出了 Hanoi塔问题的非递归算法的思想和流程图 ,并用不允许递归调用的 BASIC语言实现了 Hanoi塔问题的非递归算法。该算法的优点在于可一次性求得总移动次数 ,但从程序结构看其编程思路较复杂 ,难于理解 ,算法的时间复杂性和空间复杂性与递归算法无异。 相似文献
12.
通过对前一非递归算法的分析,给出了Hanoi塔问题改进的非递归算法的思想和程序执行步骤,并用C语言实现了该算法。该算法优点在于能一次求出移动步骤,并且其时间复杂性有较大的改善。 相似文献
13.
虽然递归算法具有结构简练、清晰、可读性强等优点,但有时受执行效率和程序设计语言的限制,必须实现递归向非递归的转换.提出一个通用的算法框架实现一般递归算法向非递归算法的转换.该框架产生的非递归算法没有标号,适用于大多数程序设计语言.结合几个典型的实例说明该框架的应用方法和有效性. 相似文献
14.
二叉树遍历递归算法非递归化的讨论 总被引:3,自引:0,他引:3
尽管递归算法具有结构简炼、清晰、可读性强等优点,但递归算法在执行过程会耗费太多的时间和空间,为了追求算法的时空效率,必须将递归算法转化为非递化算法,问题才能得到有效解决,本文讨论了在递归算法执行过程中栈的变化和给出了改进的非递归化算法。 相似文献
15.
讨论了利用队列来生成二叉链表树的非递归算法,通过借助了二叉树的顺序存储方法以及构建一个临时的队列来实现这个算法,该算法的提出丰富了由递归算法转换成非递归算法的方法。 相似文献
16.
以二叉树的后序遍历为例,对后序遍历递归算法的实现过程进行了详细分析。对二叉树后序遍历非递归算法的设计与实现也进行了讲述,并以图的形式对一棵二叉树的后序遍历非递归算法中栈的变化过程做了详细的描述。 相似文献
17.
基于状态机的递归算法非递归化框架 总被引:1,自引:0,他引:1
《计算机应用与软件》2018,(4)
由递归程序转换到非递归程序可以避免栈内存溢出问题并可以提高算法效率。借助状态机编程的思想,提出一种递归到非递归转换的框架。将函数的调用和返回过程看作是状态的转换,并将递归过程模拟为"进入函数"、"进入递归点"、"从递归点返回"等状态。实验中,将几种具有代表性的递归算法转换为非递归算法,从转换后代码可以看出,提出的框架与"while-while"和"while-if"等常见框架相比,具有结构清晰、代码简洁和转换过程程序化强的优点。 相似文献
18.
形式化开发Hanoi塔问题非递归算法 总被引:1,自引:0,他引:1
使用形式化方法PAR及循环不变式开发新策略,开发了Hanoi塔问题非递归算法,并对其进行了形式化地正确性证明。本文直接面向非递归算法,在得到求解Hanoi塔问题的循环不变式的同时,直接得到易读、高效且可靠的非递归算法。对使用形式化方法及循环不变式开发新策略开发非递归算法作了较深入的实践和探讨。 相似文献
19.
汉诺塔非递归算法 总被引:1,自引:0,他引:1
陈文 《电脑编程技巧与维护》2009,(14):10-11,51
分析汉诺塔递归算法的特点,由递归算法,结合二叉树的中序遍历算法,提出汉诺塔二叉树的概念及创建方法,并证明汉诺塔二叉树特点。由此进一步导出兼顾时间效率与空间效率的非递归算法。最后,提供实现算法的C语言程序。 相似文献
20.
树是计算机科学中经常用到的一种典型的非线性数据结构。本文介绍一种求解其深度(高度)的非递归算法,同递归算法比较,既易于理解,又解决了某些高级语言因无递归机制而带来的实现上困难。 相似文献