【发布时间】:2014-01-15 19:09:35
【问题描述】:
这里有循环:
for (i = n; i < 2*n; i += 4) {
for (j = 0; j < 3*i; j += 2) {
function();
}
}
如何在不运行此代码的情况下计算 function() 的调用次数(以 n 为单位)?
我认为我可以使用算术级数,其总和为 S = (a1 + ak) * k / 2,其中 a1 - 是内循环的迭代次数,而 i 具有初始值,而 ak - 是当 i 有最终值时,内循环的迭代次数。
但我不能将它表示为一个以 n 为变量的公式。
你对此有什么想法吗?
【问题讨论】:
-
如果我使用 O(n) 表示法 - 它将是 O(n^2)。但我需要表达准确的公式来计算函数()被计算了多少次
-
你的标题不是特别有意义,但我不能说我能想到一个更好的。
-
@FelixVein 你发布这些作业已经有一段时间了,而且我认为这是一个数学问题然后是算法
标签: c algorithm complexity-theory