【发布时间】:2016-11-18 21:55:16
【问题描述】:
有人知道以大 O 表示法计算阿克曼函数 ack(m,n) 的时间复杂度或它属于哪个复杂度类吗? 只需 Ack(3, n) 也足够了。 我在某处读到它是 NONELEMENTARY?
谢谢。
代码片段:
public class Ackermann {
public static int ackermann(int n, int m) {
if (n == 0)
return m + 1;
else if (m == 0)
return ackermann(n - 1, 1);
else
return ackermann(n - 1, ackermann(n, m - 1));
}
}
【问题讨论】:
-
使用您的代码对
ack(3, n)进行的递归调用的数量是指数级的——您可以从oeis.org/A074877 计算出它的确切调用次数
标签: complexity-theory time-complexity ackermann