
正文
递归算法设计模式,递归算法的设计步骤
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
什么叫递归法
递归算法包含的两个部分:由其自身定义的与原始问题类似的更小规模的子问题(只有数据规模不同),它使递归过程持续进行,称为一般条件。所描述问题的最简单的情况,它是一个能控制递归过程结束的条件,称为基本条件。
递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。递归循环中,遇到满足终止条件的情况时逐层返回来结束。
程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。
递归算法概念:在函数或子过程的内部,直接或者间接地调用自己的算法。基本信息:递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数或过程来表示问题的解。
在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。使用递归解决问题,思路清晰,代码少。
相关问答
Q1: ...用递归做的排列算法的详细步骤?参考王晓东的《计算机算法设计...
用到递归的排序算法有快速排序和归并排序。快速排序:先选最开始的元素为枢轴,然后分别从两头中的一头开始与枢轴比较。
本算法采用最短服务时间优先的贪心策略。首先将每个顾客所需要的服务时间从小到大排序。
例如上例计算斐波那契数列的第n项的函数fib(n)应采用递推算法,即从斐波那契数列的前两项出发,逐次由前两项计算出下一项,直至计算出要求的第n项。选择排序法 是对 定位比较交换法 的一种改进。
递推法:递推算法是一种根据递推关系进行问题求解的方法。通过已知条件,利用特定的递推关系可以得出中间推论,直至得到问题的最终结果。递推算法分为顺推法和逆推法两种。
Q2: 什么是递归算法和递推算法?它们有什么区别?
递推法:递推算法是一种根据递推关系进行问题求解的方法。递推算法是一种用若干步可重复的简运算(规律)来描述复杂问题的方法。递推是序列计算机中的一种常用算法。
递推就是递推循环,递推或者说循环比递归更容易理解和运用,但递归算法在运行速度上更快,代码也比较简洁。递归算法也有缺点,主要是空间消耗比较大。
递归:将问题规模为n的问题,降解成若干个规模为n-1的问题,依次降解,直到问题规模可求,求出低阶规模的解,代入高阶问题中,直至求出规模为n的问题的解。
算法的过程不同 递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。递归算法在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。
含义不同:递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。
递归算法包含的两个部分:由其自身定义的与原始问题类似的更小规模的子问题(只有数据规模不同),它使递归过程持续进行,称为一般条件。
Q3: 什么叫递归,和迭代?
1、递归和迭代都是循环的一种。简单地说,递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。
2、“递归”是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现像.。在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。
3、递归查询是域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机。
4、递归是一种自包含(调用)结构,迭代则是循环结构。二者都是重复一件事情。比如让你不断地在纸上画不重叠的圆圈就是循环;而让你不断地在圆圈内再画圆圈就是递归,比如中国的国徽就是一个递归图案。
5、在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。
6、递归和迭代(循环)是密切相关的 — 能用递归处理的算法也都可以采用迭代,反之亦然。确定的算法通常可以用几种方法实现,您只需选择最自然贴切的方法,或者您觉得用起来最轻松的一种即可。显然,这样有可能会出现问题。
Q4: 计算机算法中的递归法与选择排序法是什么?请细讲
1、递推法:递推算法是一种根据递推关系进行问题求解的方法。通过已知条件,利用特定的递推关系可以得出中间推论,直至得到问题的最终结果。递推算法分为顺推法和逆推法两种。
2、递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。递归循环中,遇到满足终止条件的情况时逐层返回来结束。
3、这种方法就是选择排序,不断选择最小的数,然后进行排序。
4、递归算法(英语:recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。
Q5: 递归算法有什么要求?
在使用递归算法解决问题时,应满足以下两点:一是该问题能够被递归形式描述;二是该问题具有递归结束条件。
递归算法包含的两个部分:由其自身定义的与原始问题类似的更小规模的子问题(只有数据规模不同),它使递归过程持续进行,称为一般条件。所描述问题的最简单的情况,它是一个能控制递归过程结束的条件,称为基本条件。
一个递归算法必须包括终止条件和递归部分。递归算法在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。
(1)数据的定义是按递归定义的。(Fibonacci函数)(2)问题解法按递归算法实现。这类问题虽则本身没有明显的递归结构,但用递归求解比迭代求解更简单,如Hanoi问题。(3)数据的结构形式是按递归定义的。
关于递归算法设计模式和递归算法的设计步骤的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








