温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

js递归函数是什么意思

发布时间:2021-09-26 16:39:42 来源:亿速云 阅读:137 作者:小新 栏目:开发技术

这篇文章主要介绍了js递归函数是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

  编程语言中,函数Func(Typea,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。

  递归函数定义

  一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的。用递归过程定义的函数,称为递归函数,例如连加、连乘及阶乘等。凡是递归的函数,都是可计算的,即能行的[1]。

  古典递归函数,是一种定义在自然数集合上的函数,它的未知值往往要通过有限次运算回归到已知值来求出,故称为“递归”。它是古典递归函数论的研究对象[1]。

  递归函数介绍

  在数理逻辑和计算机科学中,递归函数或μ-递归函数是一类从自然数到自然数的函数,它是在某种直觉意义上是"可计算的"。事实上,在可计算性理论中证明了递归函数精确的是图灵机的可计算函数。递归函数有关于原始递归函数,并且它们的归纳定义(见下)建造在原始递归函数之上。但是,不是所有递归函数都是原始递归函数—最著名的这种函数是阿克曼函数。

  其他等价的函数类是λ-递归函数和马尔可夫算法可计算的函数。

  一个直接的例子

  //代码1

  voidfunc()

  {

  //...

  if(...)

  func();

  else

  //...

  }

  条件

  一个含直接或间接调用本函数语句的函数被称之为递归函数,在上面的例子中能够看出,它必须满足以下两个条件:

  1)在每一次调用自己时,必须是(在某种意义上)更接近于解;

  2)必须有一个终止处理或计算的准则。

  例如:

  梵塔的递归函数

  //C

  voidhanoi(intn,charx,chary,charz)

  {

  if(n==1)

  move(x,1,z);

  else

  {

  hanoi(n-1,x,z,y);

  move(x,n,z);

  hanoi(n-1,y,x,z);

  }

  }

感谢你能够认真阅读完这篇文章,希望小编分享的“js递归函数是什么意思”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI