【发布时间】:2022-01-21 22:58:08
【问题描述】:
请问下面嵌套的for循环的时间复杂度是多少?
编辑。我认为这个问题的答案取决于另一个问题,我不知道是否有“规范”的答案。
这个问题是,O(n)、O(n^2) 等 big-O 表达式中的 n 是明确引用名为 n 的输入参数,还是表示输入大小的一般值。
到目前为止给出的一些答案似乎与这里给出的答案相矛盾:https://stackoverflow.com/a/23361893/3042018 如果可能的话,我希望能更清楚一些。
for i in range(n):
for j in range(m):
print(i, j) # Output statement occurs n * m times.
我认为 O(n^2) 因为每个循环都是 O(n),但我想知道它是否可能是 O(nm),以及这些是否实际上是同一件事。
【问题讨论】:
-
这能回答你的问题吗? Time complexity of nested for-loop
-
这取决于您考虑的输入是什么,如果您的意思是
n和m,那么是的,循环是O(N*M) -
您是否假设将任意大的整数转换为十进制然后打印它需要 O(1) 时间?
标签: python time-complexity big-o