Andrew Zhang
Nov 16, 2017
First, D-left hashing
Take 2-left hashing as an example, two hash tables of the same length, T1 and T2, allocate two hash functions, H1 and H2. When storing a key, use two hash functions H1 and H2 respectively to calculate two positions H1[key] and H2[key], and then see two hash table corresponding position is not empty, as long as any one has empty can be placed in the corresponding position.
When using the D pair hash table and the hash function is d-left hashing.
Second, D-left counting Bloom filter
The Counting Bloom filter resolves an issue where bloom filter could not remove elements. But because of the unbalanced load, there will be a lot of wasted space. D-left counting Bloom filter combined with d-left ideas can make the stored information more balanced, a good solution to this problem.
Third, cuckoo hash
Use D-left hash when there will be inserted when a key, D hash function to get the position is full, cuckoo hash idea when in this D position casually find an element, kicked away, to do a heavy hash, and then put key into this position, If the element that is kicked away hash D position is also full, then continue to play ...