首页 > 编程知识 正文

c语言程序设计十三五答案,递推法是常用算法吗

时间:2023-05-06 21:07:02 阅读:114379 作者:2868

希塞小编为大家整理的软测试程序员考点c语言编程递归法,希望能帮助同学们。 具体内容如下。

递归法

递归法是设计和描述算法的强大工具,在复杂算法的描述中经常被采用,为此在介绍其他算法的设计方法之前进行研究。

概要

可递归描述的算法通常设法分解成规模较小的问题,以解决规模为n的问题,从该小问题的解容易地构成大问题的解,另外,该规模较小的问题也以同样的分解和合并的方法分解成规模较小的问题,从该小问题的解开始特别是在规模N=1时,可以直接得到解。

执行流程

递归算法的执行过程分为递归和回归两个阶段。 在递归阶段,将更复杂问题(规模为n )的求解逼到比原问题简单一点的问题)规模为zydds )的求解。 例如,在上面的示例中,求解fib(n ),并将它推到求解fib(n )和fib(n )上。 也就是说,为了计算fib(n ),首先计算fib(n-1 )和fib(n-1 ),计算fib(n-1 )和fib(n-1 ),然后计算fib(n-1 )和fib ) n-4 依次计算fib(1)和fib(1)之前,分别很快得到结果1和0。 在递归阶段,需要中止递归的情况。 例如,在函数fib中,在n为1和0的情况下。

在回归阶段,得到最简单情况下的解后,逐步返回,依次得到稍微复杂的问题的解。 例如,在得到fib(1)和fib(1)之后,返回fib(1)的结果,在得到……、fib(1 )和fib (n-2 )之后,返回fib

创建递归函数时,请注意函数中的局部变量和参数仅限于当前调用层。 进入“简单问题”层时,将隐藏原始层次结构的参数和局部变量。 在一系列“简单问题”级别中,每个级别都有自己的参数和局部变量。

作用

递归引起一系列函数调用,可能存在一系列重复计算,因此递归算法的执行效率相对较低。 如果递归算法很容易转换为递归算法,则通常根据递归算法编写程序。 例如,上述例子中计算斐波那契数列的第n项的函数fib(n )应该采用递归算法,从斐波那契数列的前两项计算下一项,直到计算了所请求的第n项。

希赛软考学院拥有14年的软测试培训经验,希赛教育坚持自主研发,将丰富的软测试培训经验有效地融入教程研发过程中, 自主体系软测试在线题库(软测试培训教材和软测试视频教程),多种培训方式包括在线辅导、面试、在线课堂,使考生学习更加系统、指导更加明确。 采用全过程教育制度,保障学生顺利通过考试,软测试平均合格率在全国。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。