TAK功能的调用图高度

时间:2014-01-27 21:01:29

标签: math recursion

我如何计算TAK function的调用图的高度:

enter image description here

就三个参数而言?

1 个答案:

答案 0 :(得分:0)

您可以运行该函数传递一个额外的第四个和第五个参数来存储当前调用堆栈的高度以及到目前为止在调用图中观察到的最大高度。

请注意,这将需要解压缩该功能。另外,假设maxcalls通过引用传递。

t1=t(x-1,y,z,calls,maxcalls)
t2=t(y-1,z,x,calls,maxcalls)
t3=t(z-1,x,y,calls,maxcalls)
if y<x:
  t=t(t1,t2,t3,call+1,maxcalls)
else:
  if calls>maxcalls:
    maxcalls=calls
  t=z

鉴于此功能的复杂性及其作为良好基准的用途,在不实际运行该功能的情况下计算此功能的可能性不大(<或者至少显而易见)。