[英]Solve recurrence T(n) = T(6n/5) + 1
因此,我正在為算法考試做准備,而且我不知道如何解決該遞歸T(n) = T(6n/5) + 1
因為b = 5/6 < 1
並且無法應用Master定理。 我希望有人能給我一些解決方法的提示。 :)
僅考慮該遞歸關系(並且當x > 100
時沒有其他信息,如T(x) = 1
),該關系所描述的具有時間復雜性的算法將永遠不會終止,因為每次調用的工作量都會增加。
T(n) = T(6n/5) + 1
= T(36n/25) + 2
= T(216n/125) + 3
= ...
您可以看到每個呼叫的工作量增加了,並且增加的數量沒有限制。 結果,函數的時間復雜度不受限制 。
我們甚至可以(非正式地)爭辯說這樣的算法不存在-將輸入大小增加1.2
倍,每次調用至少需要0.2n
工作,這顯然是O(n)
-但每一步的實際成本據稱為1
, O(1)
,因此不可能存在由這種精確的遞歸描述的算法(但是對於具有遞歸的算法(例如T(n) = T(6n/5) + n
)來說是很好的)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.