簡體   English   中英

解決復發T(n)= T(6n / 5)+ 1

[英]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) -但每一步的實際成本據稱為1O(1) ,因此不可能存在由這種精確的遞歸描述的算法(但是對於具有遞歸的算法(例如T(n) = T(6n/5) + n )來說是很好的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM