【发布时间】:2020-12-16 00:11:15
【问题描述】:
假设我有一个函数
def f(n):
for x in range(int("1" * n)):
.... # assume this step is o(1)
这个函数接受一个整数 n,然后迭代 1 重复 n 次。
示例。
对于 n = 5
for i in range(11111):
pass
对于 n = 4
for i in range(1111):
pass
输入 n 的函数的时间复杂度是多少?或者您将如何计算?
如果问题不清楚,我们深表歉意,并感谢所有帮助。
【问题讨论】:
-
那么时间复杂度应该是
n,因为循环重复了n次? -
不,如果 n = 3,则循环重复 111 次等。@Flame
-
哦,我知道它现在做了什么让我想一想
-
似乎复杂度接近
10^(n-1), 4 ~ 1000, 5 ~ 10000, 6 ~ 1000000, 所以指数时间 -
@Flame 这就是我的怀疑,但是在计算时间复杂度时可以使用近似值吗?
标签: function loops methods time-complexity big-o