objective-c - NSDictionary 的 -allKeys 方法的计算复杂度是多少?

标签 objective-c performance cocoa-touch cocoa nsdictionary

NSDictionary 的 -allKeys 方法的计算复杂度是多少?

我假设它是 O(1),因为 NSDictionary 可能将它保留在内部某个地方,但你永远不知道:)。我尝试查看文档(NSDictionary 和 Collections 指南)但找不到答案。

也许有一些备忘单包含 Cocoa 集合方法的计算复杂性?

编辑: 正如 Gwendal Roué 所指出的,我的问题有点模糊。所以我可能应该这样改写:

是否有人对 NSDictionary 类的某些给定方法和对象集(特别是 -allKeys)的计算复杂性进行了测量?

编辑2: 正如 Chris Devereux 所指出的,这些测量结果将取决于实现,但我认为如果有人可以共享一些表格/测量结果以获得一些近似数字,那就太好了。

最佳答案

去阅读这篇精彩的文章,它解释了 NSArray 如何根据其包含的元素数量更改其底层实现:http://ridiculousfish.com/blog/posts/array.html

之后,您就会明白为什么 Apple 不记录其集合类(包括 NSDictionary)的复杂性。

关于objective-c - NSDictionary 的 -allKeys 方法的计算复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21157701/

相关文章:

ios - 当我扩展我的 UIViewController 时,我收到 NSLayoutConstraint 错误

ios - 以 UIView 作为委托(delegate)和数据源的 UICollectionView

ios - 当 pickerView 出现时,UITextField 中的文本向左移动

mysql - 奇怪的 MySQL 性能问题

sql - 在 SQL 中使用可变模式持久化复杂类型的最有效方法

iphone - 在编辑模式下选择单元格时未调用 didSelectRowAtIndexPath

scala - Spark UDAF 与 ArrayType 作为 bufferSchema 性能问题

objective-c - 网络广播的流媒体基本上是如何工作的?

ios - SDK 6.1 UITextAlignment 错误

ios - 在 iOS 中使用 MPMediaItem 时,我需要使用 mutableCopy 到 NSMutableArray 吗?