この例で再帰がどのように機能するかを理解しようとしているだけです。誰かがこれを分解してくれれば幸いです。基本的に配列内の最大要素を返す次のアルゴリズムがあります。
int MaximumElement(int array[], int index, int n)
{
int maxval1, maxval2;
if ( n==1 ) return array[index];
maxval1 = MaximumElement(array, index, n/2);
maxval2 = MaximumElement(array, index+(n/2), n-(n/2));
if (maxval1 > maxval2)
return maxval1;
else
return maxval2;
}
ここで再帰呼び出しがどのように機能するか理解できません。2 番目の呼び出しが行われているときに、最初の再帰呼び出しは常に実行されますか? 誰かが私にこれを説明してくれれば、本当に感謝しています。どうもありがとう!