gpt4 book ai didi

objective-c - 有什么快速的方法可以搜索 NSArray 中是否存在某些东西吗?

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:48 25 4
gpt4 key购买 nike

目前,如果我想搜索一个对象是否在 NSArray 中(未排序)。我必须遍历数组并检查每个对象,直到找到符合我期望的对象。

我怀疑它的性能,即使检查只是一个 if 语句。

提高搜索性能有什么解决方案吗?

或者我只能以某种方式对数组进行排序并使用某种方式,例如二进制搜索?

最佳答案

排序然后搜索将比循环遍历数组的每个元素花费更多的时间,因为基于比较的排序最多需要 O(n * log(n)) 时间,遍历数组将花费 O(n) 时间数组中的 n 个元素。

如果您已经知道该对象,则实用的解决方案是使用 NSArray#containsObject。

否则你必须实现自己的比较策略并逐步遍历数组

关于objective-c - 有什么快速的方法可以搜索 NSArray 中是否存在某些东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com