列表设置转换的时间复杂度是多少?

What is time complexity of a list to set conversion?

我在python官方网站上注意到集合运算的时间复杂度table。但我只想问一下将列表转换为集合的时间复杂度是多少,例如

l = [1, 2, 3, 4, 5]
s = set(l)

我知道这实际上是一个散列 table,但它究竟是如何工作的呢?那么是O(n)吗?

是的。遍历列表是 O(n),将每个元素添加到哈希集中是 O(1),所以总操作是 O(n).