首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 250 毫秒
1.
递归算法的主要作用是把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔问题),递归算法是一种自然且合乎逻辑的解决问题的方式,但是递归算法的执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;另外,有些程序设计语言不支持递归,这就需要把递归算法转换为非递归算法。  相似文献   

2.
对递归程序的结构进行了较为深入的研究 ,提出了递归树的概念 ,给出了递归程序的一般结构 ,把递归分为简单链结构、树状结构、复杂链结构三种情况 ,据此 ,给出了复杂的递归问题的程序设计方法 ,根据此方法 ,可方便地写出较为复杂的递归问题的递归程序 ,从而提高设计递归程序的效率。  相似文献   

3.
递归方法无论在计算机科学还是在数学中都是一个重要的问题求解方法,许多复杂问题使用递归方法能以简单易懂的形式求出问题的解。但初学者较难掌握递归方法,递归程序的设计往往成了程序设计中的一个难点。本文通过与递推方法比较给出了递归的概念、递归与递推的区别、使用递归方法求解的思路及关键点、保证递归方法求解正确性的条件,最后指出了递归程序设计的思路。  相似文献   

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

5.
递归是一种强有力的数学工具,它给程序设计带来了很大的方便,而逐步细化方法又是结构化程序设计中的一个非常重要的工具,但如何使用逐步细化方法对问题进行分解、设计出正确的递归程序是一个值得研究的问题,本文提出了利用几何学中的图形相似的概念,进行问题分解,设计递归程序的有效方法。  相似文献   

6.
以问题结构为基础的递归程序设计   总被引:7,自引:0,他引:7  
对递归程序的结构进行了较为深入的研究,提出了递归程序的更一般结构,根据此结构,给出了复杂的递归疸的程序设计方法,根据此方法,可方便地写出较为复杂的递归问题的递归程序,从而提高设计递归程序的效率。  相似文献   

7.
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率。本文给出了两种将递归问题的递归算法转换成非递归算法的有效方法,并以具体实例加以说明。  相似文献   

8.
递归算法是程序设计中一种重要的方法,对于一些看起来很复杂的问题,使用递归方法可以提供非常优雅和简洁的解决方案,而且解题思路清晰、代码量小。但是递归算法的设计有几个需要注意的关键点,如果不能很好的解决,则无法在程序设计中体现递归的强大功能。该文通过两个示例说明设计递归算法中需要关注的关键点及其解决办法。  相似文献   

9.
递归算法是程序设计中一种重要的方法,对于一些看起来很复杂的问题,使用递归方法可以提供非常优雅和简洁的解决方案,而且解题思路清晰、代码量小。但是递归算法的设计有几个需要注意的关键点,如果不能很好的解决,则无法在程序设计中体现递归的强大功能。该文通过两个示例说明设计递归算法中需要关注的关键点及其解决办法。  相似文献   

10.
<正> 4.1 引言 许多程序设计语言(例如,ALGOL、PL/1、LISP)是允许程序员用来编写递归程序的;即作为其计算时调用它自身部分的程序(递归地)恰好与一个非递归程序一样可调用辅程序。这种递归程序在处理具有递归定义数据结构比如表格或树状是非常有用的。这种递归程序是以一种语言比如LISP为基础的,它主  相似文献   

11.
基于C语言的递归函数教学方法探讨   总被引:1,自引:0,他引:1  
本文从实际教学出发,首先讨论了递归的基本条件,总结出递归程序的设计方法,然后详细分析递归程序的执行过程并给出了递归程序的一般结构,最后让学生自己分析汉诺塔问题并动手写程序,在教学中取得了较好的效果。  相似文献   

12.
从生活化的递归现象、数学化的递归公式、程序化的递归方法等三个层次,分析了递归问题的关键思维特征、数学递归模型和程序设计方法,并提出递归方法应用模式,最后应用该模式求解典型的递归问题。  相似文献   

13.
递归是程序设计语言中的重要组成部分,但在递归知识的教学中,却是学生最不容易理解的。通过一个案例相关分析,剖析递归调用过程,阐述案例在教学中的应用。通过该案例设计与分析,探讨案例教学中案例设计的有关问题。  相似文献   

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

15.
洪莉 《电脑学习》2007,(4):49-50
基于递归程序时空性能不好的缺点,提出了用非递归方法来解决递归问题的实现方法.  相似文献   

16.
构建复杂递归类问题的可重用程序模板主要是为了提高学习者分析和解决类似问题的能力.文章分析了构建可重用程序模板的理由及其设计思想,并且深入地研究了复杂递归类问题的非递归算法,实现了部分复杂递归类问题的可重用程序模板;在求解同类型问题时,只需向可重用程序模板输入问题的相应参数,就可获得该类问题的实例,并且通过此模板自动推理产生程序设计的全过程.文章实现了既有问题又有解答的无限题库,为生成无限题库提供了技术支持和理论依据.  相似文献   

17.
虽然递归算法具有结构简练、清晰、可读性强等优点,但有时受执行效率和程序设计语言的限制,必须实现递归向非递归的转换.提出一个通用的算法框架实现一般递归算法向非递归算法的转换.该框架产生的非递归算法没有标号,适用于大多数程序设计语言.结合几个典型的实例说明该框架的应用方法和有效性.  相似文献   

18.
Q如何在程序设计中利用递归方法的本质A递归就是函数的嵌套调用,递归的本质是函数调用。 1.函数的嵌套调用指函数执行过程中又调用了另一函数,例如下面一个C程序(框架):  相似文献   

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

20.
递归程序设计的理论基础探讨   总被引:4,自引:1,他引:3  
本文从数学公式角度讨论了递归程序的实质和特点,以及编制归程序的一个通用方法,并通过产例加以详细的说明,另外对递归程序 韦条件进行了初步探讨。  相似文献   

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

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