HashSet disjoint()复杂度

问题描述 投票:0回答:1

两个整数散列集的Java Collections disjoint()方法的O /时间复杂度是多少?

非常感谢您的帮助,因为我不确定是O(1)还是O(n),所以真的很麻烦。

我知道哈希集包含的是O(1)操作,但我不确定不相交操作是否遍历集合1的所有元素并检查集合2是否包含这些元素中的任何一个。

java time collections complexity-theory
1个回答
1
投票

是O(n)。

假设集合查询为O(1)。您需要遍历其中一个集合,并在另一个集合中进行查询以查看它是否包含项目。

因此,设置的迭代至少需要O(n)时间。

总计,时间复杂度为O(n)。

© www.soinside.com 2019 - 2024. All rights reserved.