共查询到20条相似文献,搜索用时 0 毫秒
1.
马菲菲 《南阳师范学院学报》2004,3(6):66-71
对递归程序的非递归作了较为深入的研究,给出了直接递归程序的非递归模板,提出了一个既适于直接递归程序,也适于间接递归程序的一般转化规则,并结合实例讨论了三类特殊情况下的递归转化方法。 相似文献
2.
Hanoi(汉诺)塔问题作为一个古典的数学问题,一直以来都是数据结构中递归算法的经典案例,在对汉诺塔问题递归算法进行研究与分析后,提出一种占据内存更少,速度更快且实现简单的非递归算法。 相似文献
3.
汉诺塔问题的非递归算法实现 总被引:4,自引:0,他引:4
李永新 《湖州师范学院学报》2000,22(6):43-47
采用双向链表和堆栈技术,对汉诺塔问题递归算法进行研究与分析,提出了一种占据内存更少、速度更快且实现简单的非递归算法。 相似文献
4.
Hanoi塔问题作为一个古典的数学问题,一直以来都是数据结构中递归算法的经典案例,在对Hanoi塔问题递归算法进行研究与分析后,提出一种占据内存更少,速度更快且实现简单的非递归算法. 相似文献
5.
探讨了实现递归算法替换非递归算法的多种方法。对于那些不支持递归的程序设计语言(如Fortran语言),通过采用这些方法,不仅为递归问题的非递归化找到了一些有效的解决途径。而且提高了程序的执行效率。 相似文献
6.
汉诺塔问题是一个古典数学问题,对于给定的盘子数量及每步移动盘子次序是确定的。因此,只要能够确定盘子移动的规则,就可以通过计算机程序加以实现。递归算法虽然代码简单,但对于初学者而言,理解其内涵存在困难,且算法执行效率不高。提出一种基于非递归思想的移动方向判断算法解决汉诺塔问题,通过与递归算法执行时间比较,提出的判断移动方向算法执行效率更高,且算法思想相对更简单、更容易理解。 相似文献
7.
本文从递归算法的外在形式出发,将递归算法划分为三种情形,依递归算法的执行情况,得出递归算法的非递归化的策略:递归调用在算法尾部(返回语句除外)的情形,从上而下地递归到底,找到递归的终止条件,然后从下而上地用循环实现递归算法的非递归化;递归调用在中间时,依递归算法的执行情况,利用堆栈进行现场的保护与恢复,从而实现递归算法的非递归化;递归调用在中间的特殊情形,依递归算法的执行,将其转化为递归调用在尾部的情形。 相似文献
8.
递归问题是计算机程序设计语言里面的一个重点,难点问题,本文以汉诺塔问题为例讨论如何用二叉树来求解递归问题. 相似文献
9.
彭文灵 《赣南师范学院学报》1996,(6):68-70
<正>递归是计算机科学中极为重要的概念,递归调用技术在数据结构中获得了广泛的应用,所以对递归的研究是计算机科学领域中的重要课题.目前,国内文献对其技术和实现由递归往非递归算法的转化都有大量的介绍,对于由非递归往递归算法的转化较少.本文就此讨论了非递归算法的重要性和到递归算法的转换主要解决方法.1 递归和非递归问题一个对象部分地由自己组成或按它自己定义的则称为递归的.递归在自然界是经常要遇到的,众所周知,递归程序设计方法和实际问题的自然表达式相近,又特别符合于人们的思想习惯,具有容易设计,程序清晰易读等优点.因此,在程序设计中使用递归是十分有用的工具. 相似文献
10.
递归算法结构简单、清晰,可读性好,且易于验证其正确性,但浪费空间且执行效率低。因此,有时需要把递归算法转换成非递归算法。本文给出几种递归算法的特点及相应非递归算法实现的方法。 相似文献
11.
12.
本以汉诺塔问题为例描述堆栈在递归的结构设计中的应用,表明堆栈是使得递归算法成为有效算法的重要基础。为减少递归过程(函数)空间的占用,本还讨论实现递归调用时工作栈的存贮结构。 相似文献
13.
递归是计算机科学中一个极为重要的概念,许多计算机高级语言都具有递归的功能,对于初学计算机者来讲,递归是一个简单易懂的概念,但真正深刻理解递归,正确自如的运用递归编写程序却非易事,本文通过一些实例来阐述递归在计算机内的实现及递归到非递归的转换,也许使读者能加深对递归的理解 相似文献
14.
15.
16.
魏本昌 《郧阳师范高等专科学校学报》2003,23(6):58-60
递归是解决实际工程问题中常用的工具,但其在执行时具有空间耗费大、效率低的不足.给出了递归借助堆栈的实现过程,针对其不足提出了改进的方法——向非递归的转化. 相似文献
17.
戴志超 《广东职业技术师范学院学报》1999,(4):79-82
文中对递归的本质进行了探讨,以汉诺塔(Tower of Hanoi)问题为例,对采用递归算法解决递归问题进行了简要分析,提出采用一种图示方式直观理解递归算法的执行过程,并用标记法编写程序打印递归算法的顺序执行过程。 相似文献
18.
针对Arduino支持递归调用及栈溢出隐患问题,设计了安全递归调用算法.在该算法中,每次递归调用前探测剩余内存并记录递归调用的深度,在内存不足以进行下一次递归调用时给出递归调用过深告警及最大递归调用深度提示,并安全返回.以斐波那契数列、汉诺塔等典型的递归调用问题为实验对象,在分析其递归调用栈溢出风险的基础上,采用这种算... 相似文献
19.
递归算法是数学和计算机科学中非常重要的一个概念,也是教学中的一个难点。设计一款以汉诺塔为道具的数字教学游戏,旨在帮助学习者在愉悦的过程中体会和理解递归算法。 相似文献
20.
本文通过对递归算法的特性和C语言环境因素的分析,并通过实际测试和计算,对用C语言实现递归算法的重要条件因素进行了分析。 相似文献