R 函数递归


递归

R 还接受函数递归,这意味着定义的函数可以调用自身。

递归是常见的数学和编程概念。这意味着函数调用自身。这样做的好处是您可以循环数据以获得结果。

开发人员应该非常小心递归,因为很容易编写一个永远不会终止的函数,或者使用过量内存或处理器能力的函数。然而,如果编写正确,递归可以是一种非常高效且数学上优雅的编程方法。

在这个例子中,tri_recursion()是我们定义的调用自身的函数 ("recurse")。我们使用k变量作为数据,其递减(-1)每次我们递归。当条件不大于0时(即为0时)递归结束。

对于新开发人员来说,可能需要一些时间才能弄清楚它到底是如何工作的,最好的方法是通过测试和修改它。

示例

tri_recursion <- function(k) {
  if (k > 0) {
    result <- k + tri_recursion(k - 1)
    print(result)
  } else {
    result = 0
    return(result)
  }
}
tri_recursion(6)
亲自试一试 »