The Ackermann function is a recursive function that takes two non-negative integers as inputs and returns a non-negative integer as output. The function is defined as follows:

 

阿克曼函数是一个数学函数,它是递归定义的,并且增长非常快。它是最简单的例子之一,它是一个可计算的全函数,但不是原始递归的。这意味着它可以由图灵机计算,但不能由一个更简单的计算模型计算,该模型对于任何输入都有有限的步骤。

阿克曼函数有不同的版本,但最常见的一个是两个参数的阿克曼-彼得函数,它对于非负整数


A(m, n) = 
- n + 1 if m = 0 
- A(m-1, 1) if m > 0 and n = 0 
- A(m-1, A(m, n-1)) if m > 0 and n > 0 

 

阿克曼-彼得函数_并查集

 

Ackerman函数的反函数:
  ackerman函数的反函数——α(x)增长极为缓慢。对于可以想象到的n,α(n)都是在5之内的

用途:
  并查集的“路径压缩”算法:在集合的查找过程中顺便将树的深度降低。采用路径压缩后,每一次查询所用的时间复杂度为增长极为缓慢的ackerman函数的反函数——α(x)。对于可以想象到的n,α(n)都是在5之内的。