28 points ibobev 2 days ago 9 comments
0xa2 1 day ago | parent
javcasas 1 day ago | parent
https://docs.oracle.com/javase/8/docs/api/java/util/HashMap....
In fact, some studying on data structures probably leads to the conclusion that it is impossible to guarantee that an unbounded set/map to have access performance under O(log(N)).
brudgers 19 hours ago | parent
At a large enough size to be interesting, everything is dominated by IO and because IO is slow, at any interesting size performance is a matter of tailoring the implementation to the details of the data {0}.
Engineering is hard work, not naive math.
[0] Data might be arbitrary but it is never random. Not being random is what makes it data.
emil-lp 34 minutes ago | parent
Nobody really says that, nor is it a model. It is the expected time complexity.
robertlagrant 4 minutes ago | parent
juancn 6 minutes ago | parent
The O(1) is the expected average case, which usually holds.
Yeah, O(N^2) is theoretically possible, but unless you're defending against some sort of denial of service attack, in practice it rarely matters.
Still, if you can guess a sensible initial size for a hash table you can avoid a lot of the overhead of rehashing.