首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
本文分析了程序设计中递归算法执行速度慢的原因,提出了递归算法的非递归技术,此法计算速度很快,通用性较强,可用于改造一切使用递归方法设计的程序。  相似文献   

2.
探讨了实现递归算法替换非递归算法的多种方法。对于那些不支持递归的程序设计语言(如Fortran语言),通过采用这些方法,不仅为递归问题的非递归化找到了一些有效的解决途径。而且提高了程序的执行效率。  相似文献   

3.
递归调用是程序设计中一个非常重要的方法。本文对程序算法的递归调用及递归调用与非递归调用的转化从基本定义、实现过程及转化方法等几个方面进行了理论探讨,并结合实例做了进一步应用分析。此法简单直观,结构清晰,但计算机的执行过程比较复杂,时空性能相对较差。若在程序中消除递归调用,则其运行时间可大为节省。  相似文献   

4.
递归调用是程序设计中一个非常重要的方法。本文对程序算法的递归调用及递归调用与非递归调用的转化从基本定义、实现过程及转化方法等几个方面进行了理论探讨,并结合实例做了进一步应用分析。此法简单直观,结构清晰.但计算机的执行过程比较复杂,时空性能相对较差。若在程序中消除递归调用,则其运行时间可大为节省。  相似文献   

5.
递归算法或者递归程序是计算机及相关专业高校学生,在大学学习阶段必须掌握的一种程序设计方法。文章首先分析了高校学生在学习递归算法时遇到的难点,然后将递归算法进行不同角度的分类,由易到难详细剖析递归算法的设计思路,最后对递归程序的设计过程进行讲解和总结。文中还结合了实际教学案例,给出了递归算法的讲解和设计过程。  相似文献   

6.
递归在计算机科学和教学中都是一个重要的问题求解工具。利用递归算法可以用有限的语句来定义无限的集合,但在递归定义中必须有递归步骤的至少要有一条非递归的终止条件。在程序设计语言中,递归有多个应用,对于满足特定条件的某些问题,恰当地使用递归算法能使程序简捷、清晰易读,其结构也比较简练。  相似文献   

7.
递归在计算机科学和教学中都是一个重要的问题求解工具。利用递归算法可以用有限的语句来定义无限的集合,但在递归定义中必须有递归步骤的至少要有一条非递归的终止条件。在程序设计语言中,递归有多个应用,对于满足特定条件的某些问题,恰当地使用递归算法能使程序简捷、清晰易读,其结构也比较简练。  相似文献   

8.
递归作为一种算法设计策略,是程序设计和描述算法的一种有力工具,在程序设计中被广泛应用。尤其在数值计算、数据结构、人工智能、算法设计与分析等领域应用广泛。分析递归算法设计的一般思想与方法、步骤及需要解决的关键问题。通过几个经典的可以采用递归实现的算法,详细阐述了如何通过分析问题,找到递归实现的两个基本核心问题,即递归表达式和递归终止条件,并据此编写递归调用函数。  相似文献   

9.
对递归程序的非递归作了较为深入的研究,给出了直接递归程序的非递归模板,提出了一个既适于直接递归程序,也适于间接递归程序的一般转化规则,并结合实例讨论了三类特殊情况下的递归转化方法。  相似文献   

10.
本文从递归算法的外在形式出发,将递归算法划分为三种情形,依递归算法的执行情况,得出递归算法的非递归化的策略:递归调用在算法尾部(返回语句除外)的情形,从上而下地递归到底,找到递归的终止条件,然后从下而上地用循环实现递归算法的非递归化;递归调用在中间时,依递归算法的执行情况,利用堆栈进行现场的保护与恢复,从而实现递归算法的非递归化;递归调用在中间的特殊情形,依递归算法的执行,将其转化为递归调用在尾部的情形。  相似文献   

11.
递归是计算机科学的一个重要概念,递归方法则是程序设计中一种有效的方法,特别是对一些非数值运算问题,递归算法是一种强而有力的解决工具.递归算法符合人的思维习惯,结构清晰,形式简洁,易于理解和阅读.  相似文献   

12.
递归是程序设计和描述算法的一种有力的工具,递归是在数值计算、程序设计、数据结构、人工智能及其它领域应用广泛。从递归的算法分析以及公式化方法,讨论了递归程序设计的一般思想。  相似文献   

13.
黄津津 《教育探索》2008,(11):69-70
递归是计算机科学的一个重要概念,递归算法是程序设计中经常采用和有效的编程方法。用递归设计的程序结构比较简洁和清晰,但递归算法是较难理解和掌握的,因此,对递归算法的概念及结构进行深入分析,给出递归算法的设计方法,并通过对递归算法的内部实现过程的描述,可以帮助学生正确理解和应用递归算法解决实际问题。  相似文献   

14.
递归算法结构简单、清晰,可读性好,且易于验证其正确性,但浪费空间且执行效率低。因此,有时需要把递归算法转换成非递归算法。本文给出几种递归算法的特点及相应非递归算法实现的方法。  相似文献   

15.
随着计算机技术的快速发展,数学知识在计算机技术发展中,尤其是在计算机应用程序设计中处于及其重要的地位.同时,用数学的思维解决各种程序设计方面的难题也是十分重要的.在程序设计当中所解决的相当一部分问题都会涉及到各种各样的科学计算,这需要程序员将实际问题转换为程序,要经过对问题抽象的过程,建立起完善的数学模型,才能设计出好的软件.文章将介绍递归算法在程序设计中的应用并探讨数学知识在程序设计中应用及其重要性.  相似文献   

16.
本文通过举例及对递归算法和非递归算法的时间复杂度分析,说明了对于符合递归设计思路的实际问题所设计的解决算法,为什么应尽可能不采用递归的设计思路。  相似文献   

17.
递归算法是程序设计中的一种重要算法.用递归设计的程序结构比较清晰、简洁,但由于递归的设计思想比较巧妙,特别是对于规模较大的问题,掌握递归的实现过程和算法的复杂度分析并不是一件容易的事.因此,本文通过具体实例详细分析了递归算法的实现过程和复杂度,以此来加深对递归算法的进一步理解.  相似文献   

18.
Hanoi塔问题是一个古典的数学问题,在C程序设计中常用递归算法去分析处理.但由于其递归算法中有两次递归调用,其程序执行的具体过程很复杂,很难直接看出其调用过程.本文通过运用堆栈概念深入分析Hanoi塔问题递归过程并修改其通用的C程序递归算法,使其递归算法程序执行过程具有直观易于理解性,对深入理解和灵活运用递归算法有积极意义.  相似文献   

19.
递归算法是数学和计算机科学中非常重要的一个概念,也是教学中的一个难点。设计一款以汉诺塔为道具的数字教学游戏,旨在帮助学习者在愉悦的过程中体会和理解递归算法。  相似文献   

20.
通过仔细分析二叉树的递归创建过程,借助堆栈、完全二叉树的概念和二叉树的顺序存储来实现非递归算法,并对算法进行了分析。使执行过程不依赖于函数或过程的重复调用,有更大的灵活性,可以应用在程序与软件设计中。  相似文献   

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

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