温馨提示×

温馨提示×

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

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

js递归函数指的是什么

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

这篇文章主要为大家展示了“js递归函数指的是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js递归函数指的是什么”这篇文章吧。

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

  js递归函数定义

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

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

  js递归函数例子

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

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

  一个直接的例子

  //代码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