小编imm*_*815的帖子

尾递归和保护递归有什么区别?

在我的练习中,我必须决定函数是什么类型的递归。

我们必须从线性递归、尾递归和保护递归中进行选择,但我不太明白后两者之间的区别。

有人可以解释一下保护递归和尾递归之间的区别吗?

我们要区分的功能供参考:

pow2 0 = 1
pow2 n = 2 * pow2 (n-1)

factAux r i n
  | i <= n = factAux (i * r) (i + 1) n | otherwise = r
factorial = factAux 1 1

init [x] = []
init (x:xs) =  x : init xs

binom n 0 = 1
binom n k
  | n == k = 1
  | otherwise = binom (n - 1) k + binom (n - 1) (k …
Run Code Online (Sandbox Code Playgroud)

recursion haskell tail-recursion

2
推荐指数
1
解决办法
255
查看次数

标签 统计

haskell ×1

recursion ×1

tail-recursion ×1