HashSet look-up complexity?

2019-01-18 08:25发布

A look-up operation OR contains for single can be O(n) in worst-case right ? So, for n elements look up in hashSet will be O(n^2)?

3条回答
劳资没心,怎么记你
2楼-- · 2019-01-18 08:48

Yes, but it's really the worst case: if all the elements in the HashSet have the same hash code (or a hash code leading to the same bucket). With a correctly written hashCode and a normally distributed key sample, a lookup is O(1).

查看更多
可以哭但决不认输i
3楼-- · 2019-01-18 08:50

lookp takes O(c)

c = constant value

查看更多
太酷不给撩
4楼-- · 2019-01-18 08:55

Yes, but the whole reason we have HashSets is that we encounter this worst case with very, very low probability, and it's usually much faster than the guaranteed nlogn for a heap or a (self-balancing) TreeSet, or the guaranteed n^2 for an unsorted list.

查看更多
登录 后发表回答