HashSet disjoint() 复杂度
HashSet disjoint() complexity
O/time 两个整数散列集的 Java 集合 disjoint() 方法的复杂度是多少?
非常感谢任何帮助,真的很困惑,因为我不确定它是 O(1) 还是 O(n)。
我知道哈希集包含的是一个复杂度为 O(1) 的运算,但我不确定不相交运算是否循环遍历集合 1 的所有元素并检查集合 2 是否包含这些元素中的任何一个。
复杂度为 O(n)。
让我们假设集合查询是 O(1)。您需要遍历其中一个集合,并在另一个集合中进行查询以查看它是否包含项目。
因此,集合迭代至少需要O(n)的时间(你可以选择用更小的尺寸迭代集合,他们在源代码中就是这样做的)。
总的来说,时间复杂度是O(n)。
O/time 两个整数散列集的 Java 集合 disjoint() 方法的复杂度是多少?
非常感谢任何帮助,真的很困惑,因为我不确定它是 O(1) 还是 O(n)。
我知道哈希集包含的是一个复杂度为 O(1) 的运算,但我不确定不相交运算是否循环遍历集合 1 的所有元素并检查集合 2 是否包含这些元素中的任何一个。
复杂度为 O(n)。
让我们假设集合查询是 O(1)。您需要遍历其中一个集合,并在另一个集合中进行查询以查看它是否包含项目。
因此,集合迭代至少需要O(n)的时间(你可以选择用更小的尺寸迭代集合,他们在源代码中就是这样做的)。
总的来说,时间复杂度是O(n)。