【发布时间】:2023-02-22 14:20:10
【问题描述】:
我有这个功能,可以从数字列表中创建对。我们知道每次都会有n次选择2次迭代。那么这会使时间复杂度为 O(nC2) 吗? 还是 O(n^2)?
如果是 O(n^2) 为什么是 O(n^2)?该函数不会迭代那么多次,而且永远不会。
def find_pairs(nums):
pairs = []
for i in range(len(nums)):
current = nums[i]
for n in nums[i+1:]:
pairs.append((current, n))
return pairs
【问题讨论】:
-
因为
O是最坏的情况,在你的情况下它将是O(n**2)原因..你的内部循环将为每个元素迭代(n-1)(n)因此大约运行O(n ** 2)次..!
标签: python python-3.x big-o combinations