递推 和 递归 的区别?

墨蓝 2023-09-27 18:43 278阅读 0赞

递推 和 递归 的区别?

一、递推

递推:从初值出发反复进行某一运算得到所需结果。——-从已知到未知从小到达 (比如每年长高9cm,20年180,30后270)

  1. //递推求解
  2. function fib(n){
  3. let start=0;
  4. let fn=1;
  5. for (let i=0;i<n;i++) {
  6. let t=fn;
  7. fn=fn+start;
  8. start=t;
  9. }
  10. return fn;
  11. }

递推是按照一定的规律来计算序列中的每个项,通常是通过计算前面的一些项来得出序列中的指定项的值。
递归的思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。

二、递归

递归:从所需结果出发不断回溯前一运算直到回到初值再递推得到所需结果——从未知到已知从大到小,再从小到大 (你想进bat,那么编程就的牛逼,就得卸载玩者农药,努力学习)。递归(Recursion)是从归纳法(Induction)衍生出来的。

  1. //递归求解
  2. function fib(n){
  3. return n <2? 1 : fib(n-1) + fib(n-2);
  4. }

递归的基本思想是某个函数直接或者间接地调用自身,将原问题转换为许多性质相同但规模更小的子问题。递归包含了递和归两个意思,是从归纳法衍生出来的。


参考文章

  • 递推和递归的区别是什么?
  • 递推_百度百科

发表评论

表情:
评论列表 (有 0 条评论,278人围观)

还没有评论,来说两句吧...

相关阅读

    相关 区别

    递推 和 递归 的区别? 一、递推 递推:从初值出发反复进行某一运算得到所需结果。-----`从已知到未知`,从小到达 (比如每年长高9cm,20年180,30后2

    相关 小论c语言

    [递归和递推都是算法][Link 1][设计][Link 2]中的难点,算法又十分相近,很多和我一样学生误认为是一回事,非常容易混淆。其实它们之间既有相似点,又有明显的区别。