不确定是否发布到 PSE 或 SO,但我的问题是关于递归。
假设我有一些递归运行的函数 MergeSort。如果我想计算它拆分数组前半部分的次数,我应该在哪里放置计数器?(我知道我可以计算它,但我试图更好地理解递归)。
所以,例如
function u = MergeSort(Array)
%% Initializations
A = Array;
B = zeros(1,n2); %to store first half of A
C = zeros(1,n1-n2); %to store second half of A
D = zeros(1,n1); %to store sorted array
na = length(A);
nb = floor(0.5*na);
count1 = 0;
count2 = 0;
%% recursive part
if n1 == 1
D = A;
A1 = mergeSort(A(1:nb));
A2 = mergeSort(A(nb+1:n));