Reducing collisions within a hash table
First Claim
Patent Images
1. An apparatus comprising:
- a processor including;
a hash table compacting module configured to remove each empty bucket from a hash table and to compact the non-empty buckets;
a hash table map generating module configured to generate a map of the hash table indicating a status of the buckets of the hash table; and
a data access module configured to access data in the hash table by applying a hash key to the generated map to determine a corresponding bucket containing the data, wherein each bucket present in the hash table includes an attribute indicating one of a corresponding hash value and a pointer to a next bucket for the same hash value.
1 Assignment
0 Petitions
Accused Products
Abstract
Collisions in hash tables are reduced by removing each empty bucket from a hash table and compacting the non-empty buckets, generating a map of the hash table indicating a status of the buckets of the hash table, and accessing data in the hash table by applying a hash key to the generated map to determine a corresponding bucket containing the data.
102 Citations
18 Claims
-
1. An apparatus comprising:
a processor including; a hash table compacting module configured to remove each empty bucket from a hash table and to compact the non-empty buckets; a hash table map generating module configured to generate a map of the hash table indicating a status of the buckets of the hash table; and a data access module configured to access data in the hash table by applying a hash key to the generated map to determine a corresponding bucket containing the data, wherein each bucket present in the hash table includes an attribute indicating one of a corresponding hash value and a pointer to a next bucket for the same hash value. - View Dependent Claims (2, 3, 4)
-
5. A computer program product comprising:
-
a non-transitory computer readable storage medium encoded with instructions that, when executed by a processor, cause the processor to reduce collisions in hash tables by performing the functions of; removing each empty bucket from a hash table and compacting the non-empty buckets; generating a map of the hash table indicating a status of the buckets of the hash table; and accessing data in the hash table by applying a hash key to the generated map to determine a corresponding bucket containing the data, wherein accessing further comprises; applying the hash key to the generated map to determine a corresponding position in the generated map; computing a population count in the generated map, of all positions in the generated map up to the determined corresponding position; and using the computed population count as a bucket position of the corresponding bucket containing the data. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising:
a processor including; a hash table compacting module configured to remove each empty bucket from a hash table and to compact the non-empty buckets; a hash table map generating module configured to generate a map of the hash table indicating a status of the buckets of the hash table; and a data access module configured to access data in the hash table by applying a hash key to the generated map to determine a corresponding bucket containing the data, wherein accessing further comprises; applying the hash key to the generated map to determine a corresponding position in the generated map; computing a population count in the generated map, of all positions in the generated map up to the determined corresponding position; and using the computed population count as a bucket position of the corresponding bucket containing the data. - View Dependent Claims (13, 14, 15, 16, 17, 18)
Specification