NSArray 中 containsObject 的复杂度是多少

发布于 2024-12-04 02:31:15 字数 295 浏览 3 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏尔 2024-12-11 02:31:15

您链接到的文档回答了这个问题:

此方法通过向数组的每个对象发送 isEqual: 消息(并传递 anObject作为每个 isEqual: 消息的参数)。

因此 containsObject 会迭代数组的每个对象,这是一个 O(n) 操作。 (假设算法在找到匹配项时会停止,因此它平均会测试 n / 2 个对象。)

The documentation you linked to answers the question:

This method determines whether anObject is present in the array by sending an isEqual: message to each of the array’s objects (and passing anObject as the parameter to each isEqual: message).

So containsObject iterates over each of the array's objects, which is an O(n) operation. (Presumably the algorithm stops if it finds a match, so it would test n / 2 objects on average.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文