首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
递归算法或者递归程序是计算机及相关专业高校学生,在大学学习阶段必须掌握的一种程序设计方法。文章首先分析了高校学生在学习递归算法时遇到的难点,然后将递归算法进行不同角度的分类,由易到难详细剖析递归算法的设计思路,最后对递归程序的设计过程进行讲解和总结。文中还结合了实际教学案例,给出了递归算法的讲解和设计过程。  相似文献   

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

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

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

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

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

7.
八皇后问题是各类语言程序设计中的较著名的题目.关于八皇后问题的编程解多种多样,涉及BASIC、C、PAPAL等,但多是就事论事,缺少相应的比较、分析、综合.文中以非递归算法、递归算法、动态图形实现三种方案分别讨论了八皇后问题及其相应程序设计的具体实现。  相似文献   

8.
<正>递归是计算机科学中极为重要的概念,递归调用技术在数据结构中获得了广泛的应用,所以对递归的研究是计算机科学领域中的重要课题.目前,国内文献对其技术和实现由递归往非递归算法的转化都有大量的介绍,对于由非递归往递归算法的转化较少.本文就此讨论了非递归算法的重要性和到递归算法的转换主要解决方法.1 递归和非递归问题一个对象部分地由自己组成或按它自己定义的则称为递归的.递归在自然界是经常要遇到的,众所周知,递归程序设计方法和实际问题的自然表达式相近,又特别符合于人们的思想习惯,具有容易设计,程序清晰易读等优点.因此,在程序设计中使用递归是十分有用的工具.  相似文献   

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

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

11.
汉诺塔问题的非递归算法实现   总被引:4,自引:0,他引:4  
采用双向链表和堆栈技术,对汉诺塔问题递归算法进行研究与分析,提出了一种占据内存更少、速度更快且实现简单的非递归算法。  相似文献   

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

13.
基于递归树的递归调用分析   总被引:1,自引:0,他引:1  
提出一种基于递归树的递归调用分析方法。通过建立子递归调用与树节点的映射关系,设计了创建递归树的递归算法。研究了观察点与递归树遍历序列的关系,提出了"遍历序列-观察点-递归调用映射规则"。实现了递归树的创建及遍历,并基于STL和boost库定义了一组分析工具。  相似文献   

14.
汉诺塔问题是一个古典数学问题,对于给定的盘子数量及每步移动盘子次序是确定的。因此,只要能够确定盘子移动的规则,就可以通过计算机程序加以实现。递归算法虽然代码简单,但对于初学者而言,理解其内涵存在困难,且算法执行效率不高。提出一种基于非递归思想的移动方向判断算法解决汉诺塔问题,通过与递归算法执行时间比较,提出的判断移动方向算法执行效率更高,且算法思想相对更简单、更容易理解。  相似文献   

15.
本文分析了程序设计中递归算法执行速度慢的原因,提出了递归算法的非递归技术,此法计算速度很快,通用性较强,可用于改造一切使用递归方法设计的程序。  相似文献   

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

17.
“分治”是实际生活中使用较广的一种解决问题的方法。在程序设计中,分治算法的设计思想是:将一个规模比较大的、难以直接解决的问题,分割成一些规模较小的子问题,这些子问题互相独立且与原问题相同;然后将这些子问题各个击破,分而治之。值得注意的是,分治算法的设计思想很自然地导致了递归算法的应用。它的一般设计模式如下:  相似文献   

18.
通过Flash MX Professional 2004对汉话塔问题进行过程模拟,让学习者在“做”的过程中获得直接经验,对于其理解递归算法的思路,学会用递归方法解决问题有着显著作用。本文给出了问题实现的几个主要功能模块及其程序源代码。  相似文献   

19.
【教学内容分析】本课选自普通高中课程标准实验教科书《算法与程序设计》第三章第五节《用递归法解决问题》,内容包括自定义函数及调用、递归算法思想和程序实现。因为自定义函数往往是递归算法不可缺少的部分,因此教科书在讨论了什么是递归法之后,还介绍了什么是自定义函数,以及在VB中如何定义、调用自定义函数,这两者是本节的重点内容。  相似文献   

20.
一种统一的二叉树结构遍历算法及其实现   总被引:2,自引:0,他引:2  
二叉树的遍历算法是树结构上的最基本算法,本文通过分析二叉树、二叉树的递归定义及遍历路径的特征,提出了一种针对二叉树遍历的递归及非递归统一算法.算法只需通过设置参数开关来控制遍历的方式.算法的实现代码精短,这为二叉链结构上的访问提供了一种统一便捷的实现机制,提高了代码的的复用效率.  相似文献   

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

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