OrderedSet() 是否仍然具有 O(1) 的搜索参数?
Does OrderedSet() still have a search parameter of O(1)?
我听说当您在列表上执行 in
运算符时,它必须搜索 O(n) 个对象,而如果您在集合上执行它,则必须搜索 O(1) 个对象.去 here 看看我的意思。这是否仍然适用于 OrderedSet
?
你说的是哪个OrderedSet
?此时(Python3.8.3),标准库中没有OrderedSet
通常,OrderedSet 实现将通过委托给底层 set
来实现 __contains__
。因此它将具有您期望的算法复杂性。
我听说当您在列表上执行 in
运算符时,它必须搜索 O(n) 个对象,而如果您在集合上执行它,则必须搜索 O(1) 个对象.去 here 看看我的意思。这是否仍然适用于 OrderedSet
?
你说的是哪个OrderedSet
?此时(Python3.8.3),标准库中没有OrderedSet
通常,OrderedSet 实现将通过委托给底层 set
来实现 __contains__
。因此它将具有您期望的算法复杂性。