void function(int A[], int i, int j){
if (j == i+1)
if (A[i] > A[j])
swap(A,i,j)
else {
int k = (j-i+1)/3;
function(A,i,j-k);
function(A,i+k,j);
function(A,i,j-k);
}
}
Этот фрагмент кода взят из прошлого промежуточного экзамена в моем классе анализа алгоритмов. Студентов попросили вывести рекуррентное соотношение, описывающее поведение этой функции. Я видел в Интернете несколько примеров того, как выполняется этот процесс, но я просто не могу понять, как применить его к этой конкретной функции, индексы i и j меня действительно сбивают с толку.
Любые идеи?