首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 31 毫秒
1.
递归问题的非递归实现方法的应用研究   总被引:1,自引:0,他引:1  
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率.本文将递归问题分成简单递归问题和复杂递归问题;简单递归问题的非递归实现采用递推技术加以求解,复杂递归问题则根据问题求解的特点采用两类非递归实现算法,使用栈加以实现.  相似文献   

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

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

4.
基于状态机的递归算法非递归化框架   总被引:1,自引:0,他引:1  
由递归程序转换到非递归程序可以避免栈内存溢出问题并可以提高算法效率。借助状态机编程的思想,提出一种递归到非递归转换的框架。将函数的调用和返回过程看作是状态的转换,并将递归过程模拟为"进入函数"、"进入递归点"、"从递归点返回"等状态。实验中,将几种具有代表性的递归算法转换为非递归算法,从转换后代码可以看出,提出的框架与"while-while"和"while-if"等常见框架相比,具有结构清晰、代码简洁和转换过程程序化强的优点。  相似文献   

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

6.
仇闽霞 《福建电脑》2008,24(12):203-204
递归算法是程序设计中的一种有力的工具,许多问题采用递归方法来编写求解程序.使程序非常简洁而清晰。本文针对学生在学习程序设计课程时对递归算法难以理解及掌握等情况,阐述了递归算法的本质及解决问题的思路。  相似文献   

7.
钱鸽  马鸣 《福建电脑》2012,28(7):113-114,150
以二叉树的后序遍历为例,对后序遍历递归算法的实现过程进行了详细分析。对二叉树后序遍历非递归算法的设计与实现也进行了讲述,并以图的形式对一棵二叉树的后序遍历非递归算法中栈的变化过程做了详细的描述。  相似文献   

8.
二叉树后序遍历的非递归算法   总被引:1,自引:0,他引:1  
从示范二叉树的后序遍历入手,得出二叉树后序遍历递归算法的执行过程以及工作栈的变化情况,从中分析与总结,得出二又树后序遍历的实质.从对二叉树后序遍历实质的进一步分析,得出两个特征,其一,当栈指针为空时,判断其是左子树还是右子树,来做出不同的处理;其二,从出栈结点是第一次出栈还是第二次出栈来决定是否访问该结点.从而得出二叉树后序遍历的两种非递归算法.最后,通过分析,对第二种算法再进行改进.  相似文献   

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

10.
本文讨论了对采用回溯法求解的问题设计递归算法程序的方法,同时,对几个较典型的问题,给出了采用回溯法求解时的递归算法程序。  相似文献   

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

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