递归、迭代、动态规划的区别

本文深入探讨了递归与迭代两种编程技巧的概念与应用。递归通过函数自我调用解决复杂问题,需设定明确出口避免无限循环。迭代则从已知解出发,逐步推导出复杂问题的解。文章对比了两者在效率与代码简洁性上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

递归的基本概念:程序调用自身的编程技巧,就是函数自己调用自己;

一个函数在定义中直接或者间接调用自身的一种方法,它通常是将一个大型的复杂的问题分解为与之相似的小的问题,可以极大的减少代码量;

递归有两个特点:

1)函数自身调用自身;

2)使用递归时必须要有一个明确的出口;

递归分两个阶段:

1)递推:把复杂的问题推到比原问题简单的子问题的求解;

2)回归:当获取最简单的情况后,逐步返回,依次得到复杂问题的解;

由于递归引起一系列函数的调用,而且可能存在一些重复的计算,因此效率并不高;

迭代的意思是从一个已知的问题的解出发,推到出复杂问题的解,如果递归是自身不断调用自身,那么迭代就是A不断调用B;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值