首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
递归程序设计基于分治法和全息的思想方法,将大规模系统中的复杂问题转化为小规模系统问题进行求解(如Hanio塔问题)。递归算法是一种自然且合乎逻辑的解决问题的方式,但其执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;递归程序设计在算法设计中具有重要的理论意义和实用价值,但其在C语言、数据结构、程序设计教学上是难点,主要是思想方法的不同。介绍了在教学中通过一组例题从简单到复杂的程序实例,引导学生由浅入深地掌握递归程序及搜索的编写技巧,取得较好的效果。  相似文献   

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

3.
目前计算机程序设计教材中很少提到递归调用算法,原因多为程序设计中递归调用算法十分抽象,以致广大学生及编程人员难以理解,而递归调用算法在程序设计中又显得十分重要,本文应用实例说明递归调用算法内部执行过程,以便广大学生及编程人员真正理解并掌握递归调用思想,从而利用递归调用算法解决实际问题。  相似文献   

4.
文章介绍了递归程序教学的方法。主要包括递归程序执行过程的分析和 递归程序设计的思想方法及递归程序的调试。  相似文献   

5.
本文程序代码用C语言描述。递归是计算机科学的一个重要概念,也是一项非常重要的编程技巧,递归的方法是程序设计中有效的方法,采用递归编写程序能是程序变得简洁和清晰.本文从概念出发,结合实例对递归进行阐述。  相似文献   

6.
给出了程序设计中两种递归问题的非递归算法实现过程,并与递归算法进行比较,结果表明,非递归算法在时间复杂度与空间复杂度两项指标上均优于递归算法,且不使用系统栈,执行过程不依赖于函数或过程的重复调用,有更大的灵活性,可以应用在程序与软件设计中.  相似文献   

7.
递归是一种程序设计方法。递归算法能将很复杂的问题用十分简洁的形式加以表达。然而递归程序的复杂性很高,所以通常光用递归程序描述问题,然后设法变换为效率较高的程序。本文给出计算递归程序复杂性的公式,并讨论了降低递归程序复杂性的几种方法。  相似文献   

8.
迭代循环和递归调用是程序设计中常用的方法,递归调用是一种比迭代循环功能更强的循环结构。递归程度具有一般的模式,可以用归纳法证明递归程序的正确性。  相似文献   

9.
吴川  江海宁 《科技资讯》2010,(31):16-16,18
递归算法是程序设计中一种重要的方法,使用递归方法结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此它为算法设计、调试程序带来很大方便。本文针对学生在学习程序设计课程时对递归算法难以理解及掌握等情况,阐述了递归算法的本质、分类、计算思维方式以及如何提高递归算法在大规模问题中的时间效率。  相似文献   

10.
递归是程序设计中求解问题的一种很有效的方法,本文根据行列式按行展开定理,用C++语言进行递归程序设计,利用代数余子式的递归调用,求行列式的值。并通过求行列式的递归程序设计实例,分析递归程序的时间和空间复杂度,验证递归程序的布零性  相似文献   

11.
递归是数学和计算机科学中的一个基本概念,许多复杂问题的求解都可以用递归算法去解决.本文通过具体实例,讨论了一些问题的递归算法实现,并对递归算法进行了进一步的探讨。  相似文献   

12.
递归作为一种编程算法在程序设计中广泛应用,是编程思维的重点内容之一.以任务驱动法在递归算法课堂教学中的应用为例,设计趣味性任务,由浅入深,激发学生的兴趣,利用道具分解任务规模,促进对问题本质的理解,旨在提高学生的学习兴趣,培养学生的编程能力,提高教学质量.  相似文献   

13.
高鹭  周李涌 《科技资讯》2008,(30):210-210
递归是程序设计中强有力的工具,同时也有着鲜明的优缺点,也是学习的难点。本文从递归的概念、递归的实现和递归与非递归的转化几个方面进行了分析。  相似文献   

14.
递归是比迭代循环更有力的算法。一方面,每个循环算法均可找到一个等价的递归算法;另一方面,一些循环算法不能求解的问题常可用递归算法求解。格点问题便是这类问题中具有代表性的一个。 本文通过对格点问题构造有效算法来讨论:一,如何根据一个问题所固有的结构关系去选择适当的算法;二,递归算法在计算机内的实现方式及对递归程序的跟踪;三,递归算法与循环算法的比较。  相似文献   

15.
讨论了递归程序设计的公式化方法,指出现有方法的不足,并提出了一种新的基于求解状态的递归程序设计公式化方法,在一定程度上达到了递归程序设计公式化、简单化的目的。最后通过两个具体例子,说明了如何使用这种新的公式化方法进行递归程序设计。  相似文献   

16.
递归与栈     
递归是程序设计中一个十分有用的方法,它使某些看起来不易解决的问题变得容易解决,写出程序较简短,但用通常的函数调用的方法去理想递归,则不易掌握,本文利用栈分析递归,只有了解递归调用的原理才更容易掌握这种方法。  相似文献   

17.
本文应用结构化程序设计思想和递归算法;对初等函数的导函数符号求法,用PASCAL语言设计了一计算机算法。为了适应递归,对初等函数的结构作了规范处理,给出了三个互相递归调用的子过程。利用这三个过程,给出了示意性程序。  相似文献   

18.
非线性数据结构递归问题非递归算法的循环不变式的开发一直是形式化开发的难点.研究二叉树类非递归算法的推导及形式化证明方法,对二叉树排序算法进行推导,得出非递归Apla(Abstract Programming Language)算法及其精确而简单的循环不变式,然后用Dijkstra-Gries标准程序证明法证明算法的正确性,最后使用PAR平台C++程序自动生成系统自动生成C++代码.实例的实验结果简化了算法程序的推导和证明过程,对递归问题非递归算法的循环不变式的探测具有一定的借鉴意义,而且对非线性数据结构算法程序的推导及形式化证明具有指导意义.  相似文献   

19.
给出了典型的Ackcrmann函数的递归与递推算法,以说明两种不同程序设计方法的编程效率与执行效率.  相似文献   

20.
递归算法非递归化的一般规律   总被引:8,自引:0,他引:8  
尽管递归算法具有结构简练、清晰、可读性强、正确性容易得到证明等优点,但递归算法在执行过程中会耗费太多时间和空间。为了追求算法的时空效率,特别是使用不支持递归的程序语言的情况下,必须将递归算法转化为非递归算法,问题才能得到有效解决。为此,给出了递归算法转化为非递归算法的一般方法,并以Hanoi塔问题、二叉树的中序遍历问题为例进行了详细地分析。  相似文献   

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

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