首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 78 毫秒
1.
递归算法是VB程序设计中的常用算法之一,也是一种重要的编程方法.掌握递归方法十分重要,但递归算法是较难理解和掌握的.因此,有必要对如何讲好递归算法做一些探讨.对提高递归算法在VB教学中的地位和递归教学中存在的一些问题,给出了自己的教学探索和思考.  相似文献   

2.
递归算法在数据结构课程中既是重点又是难点,对递归算法理解和把握直接决定了很多算法的理解。该文通过对递归的概念,举例说明利用递归求解问题的步骤以及通过分析二叉树的前序遍历算法来剖析递归的执行过程,最后给出了递归的直观理解。  相似文献   

3.
针对递归算法在处理树型数据结构的相关问题时具有较好出的较好能力,本文主要研究了C/C++语言在树型数据结构中递归算法的设计与实现,并对比了递归算法和非递归算法,得出递归算法能够大幅度节省系统空间。  相似文献   

4.
二叉树遍历递归算法非递归化的讨论   总被引:3,自引:0,他引:3  
尽管递归算法具有结构简炼、清晰、可读性强等优点,但递归算法在执行过程会耗费太多的时间和空间,为了追求算法的时空效率,必须将递归算法转化为非递化算法,问题才能得到有效解决,本文讨论了在递归算法执行过程中栈的变化和给出了改进的非递归化算法。  相似文献   

5.
关于Hanoi塔问题的非递归算法,已有了大量的研究[1 ̄4]。实验表明,当圆盘数目较少时,现有的非递归算法的执行速度比递归算法要快一些,但是随着圆盘数目的增加,现有的非递归算法的执行速度会逐渐变得比递归算法慢。论文提出了一种基于压缩编码的非递归新算法,在压缩了存储空间的同时,提高了算法的执行速度。实验结果表明,对于任意圆盘数目n,论文所实现的非递归算法的执行速度比现有的递归算法和非递归算法都有成倍的提高。  相似文献   

6.
递归做为一种算法设计思想在求解实际问题和程序设计中广泛应用,采用递归设计的算法具有思路清晰、易于描述复杂问题等优点。文中对递归算法的理论依据、设计思想、应用、递归的内部执行过程做了较为全面的探讨,并以火车进站问题为例,重点分析了如何根据问题的递归表达函数扩充为递归算法。同时,对递归的非递归化作了较为深入的分析和探讨,并给出了实例源程序。理论分析和实践证明,在具体应用问题中,通过寻找问题对应的递归表达函数,可以容易和准确地设计出求解的递归算法,提高算法设计效率。  相似文献   

7.
为了培养学习编程的逆向思维,运用分治思想的递归算法提高解决问题的能力,理解分治和递归的关系,掌握递归算法解决问题的条件和原理是十分必要的。从提出问题、分析问题、抽象问题的特征、解决问题和分析递归算法的局限性的过程,运用比较法比较迭代与递归之间的关系,结合具体问题,对理解递归算法解决问题给出了有效的方法。用分治的递归方法求解问题,其结构简单,可读性强,但是递归算法理解起来有一定难度,研究了递归算法的特征、递归与分治之间的关系、递归与迭代之间的关系,根据时间和空间复杂度,给出了递归算法的深度建议。实践的结果证明,采用这样的方式,能够帮助读者理解逆向思维和分治思想的本质,提升运用递归算法解决生活和学习中的问题的能力。  相似文献   

8.
孔明棋是一种玩法简单,但其中变化无数的益智游戏。对孔明棋求解问题进行分析,提出了基于回溯思想的递归和非递归算法,运行结果表明了算法的有效性。文章还围绕栈在存储数据、消解递归等方面的应用对两个算法的优缺点进行了比较分析,递归算法结构清晰,但递归调用次数多;而非递归算法借助程序栈,将程序向循环转化,降低了时间复杂度,但算法难以分析和理解。因此在求解实际问题时可以采用递归思想来分析,然后借助栈用非递归来实现算法。  相似文献   

9.
递归问题的非递归实现方法的应用研究   总被引:1,自引:0,他引:1  
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率.本文将递归问题分成简单递归问题和复杂递归问题;简单递归问题的非递归实现采用递推技术加以求解,复杂递归问题则根据问题求解的特点采用两类非递归实现算法,使用栈加以实现.  相似文献   

10.
递归算法的主要作用是把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔问题),递归算法是一种自然且合乎逻辑的解决问题的方式,但是递归算法的执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;另外,有些程序设计语言不支持递归,这就需要把递归算法转换为非递归算法。  相似文献   

11.
算法是计算机科学的核心,算法设计对于开发正确、高效的程序至关重要。基于递推技术的算法设计方法通过形式化推导保证算法的可靠性,同时能较好地提高算法程序的效率。本文通过两个实例,详细介绍基于递推技术的算法设计方法形式化推导算法程序的过程。  相似文献   

12.
递归是程序设计中一种重要的思想方法。递归算法代码量小、求解思路清晰,解决复杂问题的方案优雅而简洁,但递归算法难以掌握。结合实例以工作团队的视角进行递归算法设计,提出首先保证正确设计递归算法然后再分析递归执行过程的教学思路,在教学实践中取得良好效果。  相似文献   

13.
递归是程序设计中一种重要的思想方法。递归算法代码量小、求解思路清晰,解决复杂问题的方案优雅而简洁,但递归算法难以掌握。结合实例以工作团队的视角进行递归算法设计,提出首先保证正确设计递归算法然后再分析递归执行过程的教学思路,在教学实践中取得良好效果。  相似文献   

14.
汉诺塔非递归算法   总被引:1,自引:0,他引:1  
分析汉诺塔递归算法的特点,由递归算法,结合二叉树的中序遍历算法,提出汉诺塔二叉树的概念及创建方法,并证明汉诺塔二叉树特点。由此进一步导出兼顾时间效率与空间效率的非递归算法。最后,提供实现算法的C语言程序。  相似文献   

15.
Lee  D.L. Leung  Y.Y. 《Software, IEEE》1993,10(6):66-74
A special-purpose algorithm, that analyzes the structure of a recursion and exploits its properties in query processing in a deductive database is presented. This method is applied to linear rules, a large and common class of recursion. The structural approach to rule processing (SARP) prototype system that implements the algorithm is described  相似文献   

16.
讨论了递归算法的基本概念和原理,使用VB,给出了设计编写递归程序的方法。  相似文献   

17.
递归在计算机科学和数学中都是一个重要的问题求解工具,许多复杂问题的求解都可以用递归算法去解决,适当的使用递归算法可以简化复杂问题。该文通过具体的实例,讨论了递归算法的实现,并对递归算法进行了进一步的探讨。  相似文献   

18.
高永平  陆玲 《微计算机信息》2006,22(15):266-267
讨论了利用队列来生成二叉链表树的非递归算法,通过借助了二叉树的顺序存储方法以及构建一个临时的队列来实现这个算法,该算法的提出丰富了由递归算法转换成非递归算法的方法。  相似文献   

19.
递归是一种重要的算法设计方法。经过对递归进行研究,给出递归的定义和它在二叉树、搜索和排序中的应用,并利用C#语言编程实现相应的算法。  相似文献   

20.
本文对线性选择算法在比较算法类中给出了基于中值序列而设计的任何改进算法的复杂度下界;从应用的角度对子序列进行有关技术处理,并对递归参量进行动态选择,给出了线性选择算法的实用性改进,并对这一改进算法在共享存储的SIMD机器上给出了并行化。  相似文献   

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

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