共查询到20条相似文献,搜索用时 0 毫秒
1.
递归算法非递归化的一般规律 总被引:8,自引:0,他引:8
尽管递归算法具有结构简练、清晰、可读性强、正确性容易得到证明等优点,但递归算法在执行过程中会耗费太多时间和空间。为了追求算法的时空效率,特别是使用不支持递归的程序语言的情况下,必须将递归算法转化为非递归算法,问题才能得到有效解决。为此,给出了递归算法转化为非递归算法的一般方法,并以Hanoi塔问题、二叉树的中序遍历问题为例进行了详细地分析。 相似文献
2.
3.
4.
递归是程序设计中强有力的工具,同时也有着鲜明的优缺点,也是学习的难点。本文从递归的概念、递归的实现和递归与非递归的转化几个方面进行了分析。 相似文献
5.
6.
深度优先法是图的遍历的一种重要的方法。改方法应用广泛,例如电网拓扑结构、DNA网络等复杂图形分析。在大型网络的分析过程中,深度优先搜索的递归算法效率地下。故本文论证了递归算法的优缺点,并用非递归算法实现了深度优先搜索。 相似文献
7.
汇编语言是一门面向计算机硬件的符号化的机器语言,通过对汇编语言的学习可以加深对计算机内部原理的理解.文章借助汇编语言低级化的特点,详细地分析了递归算法的内在运行机理. 相似文献
8.
采用递归方法设计算法具有较高的开发效率和良好的可读性,但递归层次多到一定程度将耗尽系统内存资源,因此递归算法的实用性较差。通过分析递归算法的特性和实现机制,简要介绍了实现递归消解的几种方法,重点研究了搜索二叉树中最长路径的递归算法,给出C语言编写的利用堆栈结构和循环结构实现的非递归模拟算法,并给出递归消解前后算法的时间效率对比。 相似文献
9.
二叉树后序遍历的非递归化算法讨论 总被引:2,自引:0,他引:2
尽管递归算法具有结构简炼、清晰、可读性强等优点,但递归算法在执行过程会耗费太多的时间和空间,为了追求算法的时空效率,必须将递归算法转化为非递化算法,问题才能得到有效解决,讨论了在递归算法执行过程中栈的变化和给出了改进的非递归化算法. 相似文献
10.
为构建数据结构中递归算法的统一知识体系,分析了常见数据结构的递归本质及递归算法的组成要素,提出了递归算法转非递归算法的一般原则,根据递归算法的分类设计转换模型,通过实例分析其可行性. 相似文献
11.
12.
白宇 《山西大同大学学报(自然科学版)》2009,25(4):12-14
对"九位不同数字构成乘法等式"的问题进行分析,设计了递归回溯算法和非递归回溯算法,给出NP问题穷举算法设计的一般思路,同时比较两种算法的特点,并进行实验测试. 相似文献
13.
14.
15.
本文以汉诺塔问题为例描述堆栈在递归的结构设计中的应用,表明堆栈是使得递归算法成为有效算法的重要基础.为减少递归过程(函数)空间的占用,本文还讨论实现递归调用时工作栈的存贮结构. 相似文献
16.
顺序存储的满二叉树中序遍历的非递归算法 总被引:3,自引:0,他引:3
从中序遍历的定义出发以及满二叉树的自身特点出发,得出了关于顺序存储的满二叉树中序遍历的性质,从而推导出一种全新的、逻辑结构非常清晰的、与递归解完全等效的非递归、不需使用堆栈的算法,以及该算法在其他问题上的应用和推广。 相似文献
17.
杨清平 《达县师范高等专科学校学报》1997,7(2):45-47
迭代循环和递归调用是程序设计中常用的方法,递归调用是一种比迭代循环功能更强的循环结构。递归程度具有一般的模式,可以用归纳法证明递归程序的正确性。 相似文献
18.
递归思想是计算机科学的一个重要思想,递归方法是程序设计中的有效方法,它为程序设计者打开了一个全新的程序设计思路。采用递归思想编程,可以将一些貌似复杂的问题简单化,编写的程序更加简洁明了。本文深入分析了递归思想的特点,递归算法的优点和缺点,通过对多个经典算法的递归实现,让读者掌握递归算法程序设计的一些方法和技巧,有助于提高程序初学者的编程水平。 相似文献
19.
二叉树先序遍历的非递归算法讨论 总被引:3,自引:0,他引:3
在传统的二叉树递归算法的基础上,讨论了两种非递归算法,一种是较常见的算法,但这种算法有重复的操作,因而笔者做了修改,形成了第二种算法,并在时间复杂度和空间复杂度方面对这两种算法的优劣进行了探讨。 相似文献
20.