集合有 contains 函数,如果集合中存在成员,则返回 true;否则,错误。
其复杂度为O(1)。
我想知道它的复杂度如何是常数 O(1) 即它不依赖于大小
这里是文档:https://developer.apple.com/documentation/swift/set/1540013-contains
它将使用哈希函数来插入、搜索。好的哈希函数会导致时间复杂度为0(1)。 https://en.wikipedia.org/wiki/Hash_table
如果您看到 Apple 文档的标题。 您应该看到收藏/套装。
所以这不是一个 Array,其中 contains 方法的复杂度为 O(n)。
A Set 使用复杂度较低的哈希表来插入、查找和删除一个值。
我添加了 2 个 Apple 文档,一份用于 Set 中的 contains 方法,另一份用于 Array。