函数的复杂度 class
Complexity class of a function
如果我的问题不适合这个网站,我深表歉意,但这是我所知道的唯一可以回答计算机科学问题的地方。
对于我的测验,我们被要求计算和简化函数的复杂性 class。我了解大部分概念和所有内容,但我不明白为什么 O(1)
对于行 aset = set(alist)
是不正确的。正确答案应该是 O(N)
,但我不明白这是为什么。
完整函数如下:
def sum_to_b(alist,asum):
aset = set(alist)
for v in alist:
if asum-v in aset:
return (v,asum-v)
return None
您需要对 'alist' 的每个元素恰好迭代一次(假设它是常规可迭代的)以构建 'aset' 集合。
如果我的问题不适合这个网站,我深表歉意,但这是我所知道的唯一可以回答计算机科学问题的地方。
对于我的测验,我们被要求计算和简化函数的复杂性 class。我了解大部分概念和所有内容,但我不明白为什么 O(1)
对于行 aset = set(alist)
是不正确的。正确答案应该是 O(N)
,但我不明白这是为什么。
完整函数如下:
def sum_to_b(alist,asum):
aset = set(alist)
for v in alist:
if asum-v in aset:
return (v,asum-v)
return None
您需要对 'alist' 的每个元素恰好迭代一次(假设它是常规可迭代的)以构建 'aset' 集合。