|
Perfect hash function - Definition |
| Related Words: Acting, Action, Activism, Activities, Activity, Affair, Affairs, Aim, Ambition, Animus, Appositive, Aspiration, Assignment, Attribute, Bag, Banquet, Behavior, Capacity, Celebration |
|
|
|
Perfect hash functions are hash functions which guarantee O(1) operations complexity when used in a hash table; In other words, a hash table that uses a perfect hash function guarantees that retrieving any value will take no more than some constant time, regardless of the table's size.
This is opposed to a general hash function, which may, in some conditions, require a number of look-ups that is proportional to the table's size - O(n) operations.
A specific perfect hash function may achieve this operation complexity constraint by guaranteeing that for a certain list of keys (see hash table), no two keys get the same hash value.
A more general way of putting this: if C is a some constant number, then no more than C keys may generate the same hash value, using this function.
Coming up with a perfect hash function for a specific data set takes in the order of O(n) operations (i.e. a number of operations that is proportional to the data-set's size);
Using a perfect hash function is best at situations where there is a large dataset which is not updated frequently, and many look-ups into it. This is because updates may require re-calculation of the perfect hash.
A minimal perfect hash function is a perfect hash function that maps n keys to n consecutive integers -- usually [0..n-1] or [1..n]. A more formal way of expressing this is: Let j and k be elements of some set K. F is a minimal perfect hash function iff F(j)=F(k) implies j=k and there exists an integer a such that the range of F is a..a+|K|-1.
See also: hash table, hash function.
|
|
Example Usage of function |
 |
chrismig: is out of bed and will function slowly today...no CrossFit today:(...maybe tomorrow... |
 |
cowholesale: MFU M6SQ Dual Card Quad Band Dual Camera Ultra Thin TV function Cell Phone SilverBrownSZRW045: Unlocked f.. http://bit.ly/5C2STm |
 |
maxonweb: RT @SuprotimAgarwal: Difference between Eval and Bind - Data Binding Expressions in ASP.NET: In simple words, the Eval function is used ... |
|