我对算法的时间复杂度感到困惑,因为算法的运行时间由n的函数f(n)表示。
例如:f(n) = 3n^2 + 5n + 1 = Θ(n^2)
但如果一个算法有多个f(n),例如:
if statement 1 then
for i = 1 to n do
statement 2
statement 3
...
如果语句 1 为真,则 f(n) = n * 常数 = Θ(n) 如果语句 1 为假,则 f(n) = 常数 = Θ(1) 如何确定具有多个 f(n) 的算法的运行时间?
我不知道如何分析它,因为 big-oh big-omega 和 big-theta 都是基于单一函数 f(n)。