的大O我們有大小n這是什麼遞歸算法
是遞歸解決大小爲n的子問題的算法的問題 - 1和解決方案執行 工作的線性量。
我試過使用插件n chug,發現big-O是n,線性的,但是這對我來說似乎不太合適。我還能嘗試什麼?
的大O我們有大小n這是什麼遞歸算法
是遞歸解決大小爲n的子問題的算法的問題 - 1和解決方案執行 工作的線性量。
我試過使用插件n chug,發現big-O是n,線性的,但是這對我來說似乎不太合適。我還能嘗試什麼?
用於通過你提到的遞歸公式爲:
它意味着:
(n-1)+ k(n-2)+ .. + k,這等於k * n *(n + 1)/ 2。因此,該算法的複雜度爲O(n )。
在數學堆棧交換的人可能會做得比我更好,但我會給它一個鏡頭。
該算法的描述是不明確的,因此有兩種可能性:
O(n)
時間(技術上 2n
,但常數因子被忽略)。n
執行,n
每次執行的工作= O(n^2)
。 很顯然,每次連續執行都會減少工作量,假設我記得問題模式正確的話,這將在重複關係解決方案中顯示爲 T(n) = (1/2)n^2
。這個問題的措辭似乎表明了第二種解釋(該算法在n-1上自稱,然後在解決方案上做了一定量的工作,這表明在遞歸調用之後存在線性工作量。 –
是1 + 2 + 3 + ... + n線性只是因爲每個項是線性的? –