【发布时间】:2020-11-29 16:46:26
【问题描述】:
假设我们有以下函数:
def multi(list):
"""Take a list of numbers and modify it in place by
multiplying every 3rd number by 2."""
for index in range(2, len(list), 3):
list[index] *= 2
return list
考虑到运行函数所需的时间取决于用作输入的列表的长度,它的大 O 表示法是否会是 O(n),它会线性增加?
【问题讨论】:
-
附注:请记住,大 O 表示法通常适用于算法而不是实现,当输入任意增长时,这是一个问题。在编写自己的代码时,您确实应该从担心计算复杂性开始,但之后还有更多的问题会导致加速的显着变化。