我只是想了解遞歸在這個例子中是如何工作的,並且如果有人能夠爲我分解這個,我將不勝感激。我有以下的算法基本上返回最大數組中的元素:分而治之遞歸
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;
}
我無法理解的遞歸調用在這裏是如何工作的。第二次調用時,第一次遞歸調用是否總是被執行?我真的很感激,如果有人可以請向我解釋這一點。非常感謝!嵌入式
這是我假設的C++嗎? –
沒有特定的編程語言。我只是想了解這個方法/函數/僞代碼背後的概念。我有一個Java背景。 –
在Java中,你可能不會使用'int n'參數(但你可以)。 –