Hubbry Logo
search
search button
Sign in
Historyarrow-down
starMorearrow-down
Hubbry Logo
search
search button
Sign in
Static hashing
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the Static hashing Wikipedia article. Here, you can discuss, collect, and organize anything related to Static hashing. The purpose of the hub is to connect people, foster deeper knowledge, and help improve the root Wikipedia article.
Add your contribution
Inside this hub
Static hashing

Static hashing is a form of hashing where lookups are performed on a finalized dictionary set (all objects in the dictionary are final and not changing).

Usage [1]

[edit]

Application

[edit]

Since static hashing requires that the database, its objects, and reference remain the same, its applications are limited. Databases which contain information which changes rarely are also eligible as it would only require a full rehash of the entire database on rare occasion. Examples of this include sets of words and definitions of specific languages, sets of significant data for an organization's personnel, etc.

Perfect hashing

[edit]

Perfect hashing is a model of hashing in which any set of elements can be stored in a hash table of equal size and can have lookups done in constant time. It was specifically discovered and discussed by Fredman, Komlos and Szemeredi (1984) and has therefore been nicknamed "FKS hashing".[2]

FKS hashing

[edit]

FKS hashing makes use of a hash table with two levels in which the top level contains buckets which each contain their own hash table. FKS hashing requires that if collisions occur they must do so only on the top level.

Implementation

[edit]

The top level contains a randomly created hash function, , which fits within the constraints of a Carter and Wegman hash function from universal hashing. Having done so the top level shall contain buckets labeled . Following this pattern, all of the buckets hold a hash table of size and a respective hash function . The hash function will be decided by setting to and randomly going through functions until there are no collisions. This can be done in constant time.

Performance

[edit]

Because there are pairs of elements, of which have a probability of collision equal to , FKS hashing can expect to have strictly less than collisions. Based on this fact and that each was selected so that the number of collisions would be at most , the size of each table on the lower level will be no greater than .

See also

[edit]

References

[edit]
Add your contribution
Related Hubs