首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 250 毫秒
1.
递归程序结构简单、清晰,可读性好,且易于验证其正确性,但浪费空间且执行效率低.因此,有时需要把递归算法转换成非递归算法.本文给出了一种根据递归调用的内部实现原理把递归算法向非递归转换的一般规则,最后,说明非递归化应该注意的一些问题.  相似文献   

2.
递归算法非递归化的一般规律   总被引:8,自引:0,他引:8  
尽管递归算法具有结构简练、清晰、可读性强、正确性容易得到证明等优点,但递归算法在执行过程中会耗费太多时间和空间。为了追求算法的时空效率,特别是使用不支持递归的程序语言的情况下,必须将递归算法转化为非递归算法,问题才能得到有效解决。为此,给出了递归算法转化为非递归算法的一般方法,并以Hanoi塔问题、二叉树的中序遍历问题为例进行了详细地分析。  相似文献   

3.
后序遍历二叉树的递归和非递归算法   总被引:4,自引:1,他引:3  
本文论述了后序遍历二叉树的递归算法和非递归算法。对递归算法中的工作栈的执行过程做了分析;对非递归算法中的重点和难点做了深刻探讨,并给出了相应算法。  相似文献   

4.
中序遍历二叉树的算法实现   总被引:2,自引:0,他引:2  
马相芬 《科技信息》2008,(12):227-227
本文对二叉树的遍历过程进行了深入的分析,并给出了中序遍历二叉树的递归算法和非递归算法。对递归算法中的工作栈的执行过程做了分析;对非递归算法中的重点和难点做了深刻探讨。  相似文献   

5.
提出一种非递归多网格算法,它适合于允许递归和不允许递归两种场合,在分布式存储计算机上的叠缩并行实现结果表明,其顺序/并行加速显著,并行化效率有大幅度提高。  相似文献   

6.
无返回地址的递归消除方法研究   总被引:1,自引:0,他引:1       下载免费PDF全文
讨论递归算法的非递归实现 .通常 ,非递归算法要保存返回地址 ,使程序能继续正确执行 .实际上 ,递归算法的执行可看成对状态空间树的遍历 ,按遍历树的策略 ,提出较简便的无返回地址的递归消除方法  相似文献   

7.
给出了程序设计中两种递归问题的非递归算法实现过程,并与递归算法进行比较,结果表明,非递归算法在时间复杂度与空间复杂度两项指标上均优于递归算法,且不使用系统栈,执行过程不依赖于函数或过程的重复调用,有更大的灵活性,可以应用在程序与软件设计中.  相似文献   

8.
刘中华  张颖超 《科技信息》2010,(25):160-161
深度优先法是图的遍历的一种重要的方法。改方法应用广泛,例如电网拓扑结构、DNA网络等复杂图形分析。在大型网络的分析过程中,深度优先搜索的递归算法效率地下。故本文论证了递归算法的优缺点,并用非递归算法实现了深度优先搜索。  相似文献   

9.
提出一种新的由一棵严格二叉树的先序序列和结点的左孩子情况构造该严格二叉树的非递归算法.通过实例给出了新算法的执行过程,同时说明,与已有的等价递归算法相比,新算法的时间复杂性更低,而最差情况空间复杂性相同.  相似文献   

10.
提出一种非递归多网格算法。它适合于允许递归和不允许递归两种场合,在分布式存储计算机上的叠缩并行实现结果表明:其顺序/并行加速显著,并行化效率有大幅度提高。  相似文献   

11.
提出一种新的通过一棵严格二叉树的先序序列和这棵严格二叉树的结点的层数构造这棵严格二叉树的非递归算法.举例说明新算法的执行过程.对于有n个结点的严格二叉树,新算法的时间复杂度为O(n),比相应的递归算法的低,新算法的最差情况空间复杂度为O(n),与相应的递归算法的相同.  相似文献   

12.
对"九位不同数字构成乘法等式"的问题进行分析,设计了递归回溯算法和非递归回溯算法,给出NP问题穷举算法设计的一般思路,同时比较两种算法的特点,并进行实验测试.  相似文献   

13.
非线性数据结构递归问题非递归算法的循环不变式的开发一直是形式化开发的难点.研究二叉树类非递归算法的推导及形式化证明方法,对二叉树排序算法进行推导,得出非递归Apla(Abstract Programming Language)算法及其精确而简单的循环不变式,然后用Dijkstra-Gries标准程序证明法证明算法的正确性,最后使用PAR平台C++程序自动生成系统自动生成C++代码.实例的实验结果简化了算法程序的推导和证明过程,对递归问题非递归算法的循环不变式的探测具有一定的借鉴意义,而且对非线性数据结构算法程序的推导及形式化证明具有指导意义.  相似文献   

14.
汉诺塔问题是计算机算法设计中经常被大家引用来说明递归算法的一个经典问题.长期以来,很多人一直认为这个问题只能用递归方法求解.从讨论汉诺塔问题的几个基本特性入手,通过分析和归纳总结,提出了一种全新的解决汉诺塔问题的简洁而又高效的非递归解法,并用具体的实例对其进行了验证.  相似文献   

15.
提出树遍历统一的新解法,使其非递归算法像递归算法一样简单.首先以后序遍历为例,基于结点状态标记和遍历规则提取,从遍历定义导出遍历的递推公式,由此机械获得非递归算法和循环不变式,并用形式化方法证明其正确性.之后按不同遍历定义变换公式参数,获得二叉树前序、中序和K叉树前序、后序的递推公式,所得算法比传统算法更简洁直观,表明本解法的有效性和通用性.  相似文献   

16.
通过对数字递增排序进行分析,提出了一种可以按序求解全排列的非递归算法,并进行了数学分析.该算法比传统的递归算法有更高的效率和更低的空间复杂度,可以简化一些穷举问题的求解过程.  相似文献   

17.
采用递归方法设计算法具有较高的开发效率和良好的可读性,但递归层次多到一定程度将耗尽系统内存资源,因此递归算法的实用性较差。通过分析递归算法的特性和实现机制,简要介绍了实现递归消解的几种方法,重点研究了搜索二叉树中最长路径的递归算法,给出C语言编写的利用堆栈结构和循环结构实现的非递归模拟算法,并给出递归消解前后算法的时间效率对比。  相似文献   

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

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