繁体   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