【发布时间】:2018-05-08 18:56:42
【问题描述】:
集合有包含函数,如果集合中存在成员,则返回true;否则为假。
其复杂度为 O(1)。
我想知道它的复杂性是如何保持 O(1) 不变的,即它不依赖于大小
这里是文档:https://developer.apple.com/documentation/swift/set/1540013-contains
【问题讨论】:
-
谁说复杂度是 O(1)?它在很大程度上取决于元素哈希值的分布。
-
@MartinR 谁说的? The documentation. 如果不正确,应提交文档错误报告。
-
有问题添加的文档链接
-
免责声明:位于代码示例下方。
-
@CodeDifferent 我不会对是否为 O(1) 持立场。我指出文档声明它是 O(1),如果这显然是不真实的,那么应该有人针对文档提交报告。因为只要文档声称复杂度为 O(1),假设复杂度为 O(1) 并不是不合理的。
标签: swift data-structures time-complexity