【发布时间】:2015-08-31 23:40:02
【问题描述】:
如果我实现的算法在当前时间步以O(n^4) 运行,然后在下一个时间步以O(n^2) 运行。
- 复杂度仍然是
max[O(n^4), O(n^2)]吗? - 有没有办法得到一个在
[2, 4)范围内的多项式来计算复杂性?即平均类似于O(n^2.83) - 如何计算从
t=0...inf摊销的平均运行时成本?只是[O(n^2) + O(n^4)] / 2吗?
【问题讨论】:
如果我实现的算法在当前时间步以O(n^4) 运行,然后在下一个时间步以O(n^2) 运行。
max[O(n^4), O(n^2)] 吗? [2, 4) 范围内的多项式来计算复杂性?即平均类似于O(n^2.83)
t=0...inf 摊销的平均运行时成本?只是[O(n^2) + O(n^4)] / 2 吗?【问题讨论】:
O(n2) 在 O(n4) 上可以忽略不计,因为第一个商当 n 无限增长时,第二个限制为零。
所以你的算法只是 O(n4)
阅读Big 0 notation 上的维基页面以及任何关于多项式极限的优秀教科书。
【讨论】: