Comment by Someone
1 hour ago
Logic.
“It would be more effective in avoiding false positives”: consider a single hash function. To get a false positive, a necessary (but not sufficient) condition is that the bit position that it computes is set.
If you use multiple hash functions with a single table, that happens if any of the hash functions produced the same bit position for a different key.
If you use a single hash function for a bit set, your only chance for that to happen is that that same hash function produced the same bit position for a different key. That probability is lower.
“but require more (typically a lot more) space”: if you give each of your k hash function a separate bit-table, memory usage grows by a factor of k.
No comments yet
Contribute on Hacker News ↗