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));