使用 NSpredicate 过滤 NSArray 的 Big-O 运行时

Posted

技术标签:

【中文标题】使用 NSpredicate 过滤 NSArray 的 Big-O 运行时【英文标题】:Big-O Runtime for filtering an NSArray using NSpredicate 【发布时间】:2013-03-19 13:02:23 【问题描述】:

使用 NSPredicate 过滤数组的近似 big-O 运行时是多少?我似乎找不到任何关于谓词运行时的信息。谢谢

【问题讨论】:

我不明白反对票。这是一个有效的问题。 【参考方案1】:

使用 NSPredicate 过滤 NSArray 的 Big-O 将是 O(n)。

【讨论】:

是每个谓词吗?例如,如果您复合到五个谓词? 数组谓词会继续遍历每一个,字典会更快。而对于 5 个谓词,则为 5 次。 例如PFBatchFaultingArray 的运行时间可能不同 (NS|CF)Arrays are not necessarily what they seem to be. 我不明白为什么谓词过滤字典会比过滤数组更快。谓词过滤不是键查找;您仍然需要查看每个元素。

以上是关于使用 NSpredicate 过滤 NSArray 的 Big-O 运行时的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSPredicate 根据 NSDictionary 键过滤 NSArray

如何使用 NSPredicate 过滤这些 NSArray?

使用 NSpredicate 过滤 NSArray 的 Big-O 运行时

使用 NSPredicate 过滤 NSArray 并找到相似的字符串

使用NSPredicate过滤字符串为空的NSArray

使用 NSPredicate 过滤以数字或符号开头的字符串到 NSArray