The use of “closed” and “open” reflects whether we are really locked in using a certain position or data structure (this is a very vague description, but hopefully the rest helps).
For example, "open" in "open addressing" tells us that the index (aka address) in which the object will be stored in the hash table is not completely determined by its hash code. Instead, the index may change depending on what is already in the hash table.
“Closed” in “closed hash” refers to the fact that we never leave the hash table; each object is stored directly in the index in the internal hash table array. Please note that this is only possible using any open addressing strategy. This explains why "private hashing" and "public addressing" are synonymous.
Contrast this with open hashing — in this strategy, none of the objects are actually stored in a hash table array; instead of being hashed, the object is stored in a list that is separate from the internal hash table array. "open" means the freedom we gain by leaving a hash table and using a separate list. By the way, the “separate list” tells why open hashing is also known as the “separate chain”.
In short, “closed” always refers to some kind of strict guarantee, for example, when we guarantee that objects are always stored directly in a hash table (closed hashing). Then the opposite is “closed” “open”, therefore, if you do not have such guarantees, the strategy is considered “open”.
Ken Wayne VanderLinde Feb 03 '12 at 6:24 2012-02-03 06:24
source share