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/