函数的复杂性类

时间:2015-03-20 03:30:03

标签: python code-complexity

如果我的问题不适合本网站,我很抱歉,但这是我所知道的唯一可以回答计算机科学问题的地方。

对于我的测验,我们被告知要计算和简化函数的复杂性类。我理解大多数概念和所有内容,但我无法理解为什么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 

1 个答案:

答案 0 :(得分:2)

你需要遍历' alist'的每个元素。恰好一次(假设它是常规可迭代的)来构建' aset'集。