手动跟踪具有多个变量的递归函数的好方法

时间:2013-04-09 21:51:39

标签: debugging recursion

为了清楚起见:这是一个与upcomming考试相关的问题,但我认为answare可能对一个更大的团体感兴趣。

我需要跟踪类似于下面的代码,代码包括递归,传递和重新排列数组以及传递给递归函数的多个变量。

手工制作这种痕迹的最佳方法是什么? 我所看到的方法的主要问题是有很多变量需要跟踪。这使得使用函数调用树的方法很快就会变得混乱。是否有一种很好的方法来跟踪表和树的组合?

示例代码

function f(array A, int i, int j)
repeat while i!= j
int m = (i+j)/2;
f(A, i, m);
f(A, m+1, j);
if (A[m] < A[j]) swap(A[m], A[j]);
j = j - 1
done
end;

0 个答案:

没有答案