http://qs321.pair.com?node_id=944990


in reply to Re^2: "Just use a hash": An overworked mantra?
in thread "Just use a hash": An overworked mantra?

yes. I am sure.

first, the third link you've pointed reads:
Thus—formally—hash tables often run in time O(log n).

next, if the question is "is it possible to create an algorithm that, given arbitrary strings of finite length, make associative store/lookup for O(1)" - then the answer is "yes" but these are non-realistic algorithms.
but - back to reality - real-life alhorithms are O(log N) in best case, but I afraid Perl's one is worse than that
and - yet - have you ever heard of so-called "hash complexity attack" that was security-fixed by seed randomization in 5.8.0?
To inform you, pre-5.8.0 were looking like O(1) but actually were O(n) (or maybe even worse in worst case scenario)

next, your "stackoverflow.com" link contains simply wrong information.
IOW, I do not see any proof there that convinces me.

And - your last link does not even mention hashes.
Bother explain what is doing here? TIA!

and finally, do you see something strange in your phrase
hash operations are O(1) operations, where 'n' is the number of elements in the hash
?
I could be a bit joking, but I do not trust phrases like that.
you're explaining parameter 'n' that is not presents in your formulae - what other mistakes/typos have you made?
:)