繁体   English   中英

HashSet的 <List<Integer> &gt;时间复杂度

[英]HashSet<List<Integer>> time complexity

我知道HashSet同时具有O(1)的查找/添加时间复杂度。 但是我担心如果Set拥有List ,它是否具有相同的时间复杂性,对我来说很难相信它只会占用O(1),我们将如何对List进行哈希处理?

谢谢

ListhashCode (例如,请参见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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM