[英]HashSet<List<Integer>> time complexity
我知道HashSet
同时具有O(1)的查找/添加时间复杂度。 但是我担心如果Set
拥有List
,它是否具有相同的时间复杂性,对我来说很难相信它只会占用O(1),我们将如何对List进行哈希处理?
谢谢
List
的hashCode
(例如,请参见AbstractList
的实现)是List
的所有元素的函数。 对于equals
实现,也是如此。
因此,在Set<List<SomeType>>
查找/添加将占用O(k)
,其中k
是您要查找/添加的List
的大小。 但是,由于k
不取决于Set
中元素的数量,因此查找时间仍将是Set
中元素数量的常数,因此您仍可以说lookup需要O(1)
,因为运行查找的时间/在添加一个Collection
被计算为在元件的数量的函数的Collection
,而不是单个元件的尺寸。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.