我有困難,瞭解如何開發遞推關係。我給出的代碼是時間複雜度和遞推關係
int result = bizarre(n, n);
public static int bizarre (int first, int second)
{
if (second <= 1)
{
int temp = 0;
for (int i = 0; i < first; i++)
temp += i;
return temp;
}
return bizarre (first, second-1);
}
從什麼,我的理解是,
T(n) = n + 1
T(1) = 1
,但似乎並不正確。有人可以幫我嗎?
呀,這兩個參數確實讓我困惑,我不知道在這樣的關係是否還是不寫會工作。我明白你是如何得到經常性案件的,但你能否解釋基本案例?我似乎無法把頭圍住它。另外,你將如何去獲得時間複雜性?我沒有做過類似的問題,所以我很抱歉,如果這對我來說應該很簡單。 – Saff
在基本情況下,你只需要一個運行「第一次」的循環,每個都做O(1)。我用* m *表示你的第一個參數,所以完成的工作是O(m)。 – templatetypedef
謝謝,這清除了它。最後這給了我一些混亂的一個問題是第一行,其中爲奇異的參數均爲「N」,就這並不意味着第一和第二是導致基礎情況爲T(1,1)= O(相同的值1)? – Saff