| ▲ | inigyou a day ago | |||||||
What's your basis for claiming either of these two things? | ||||||||
| ▲ | Someone 11 hours ago | parent [-] | |||||||
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. | ||||||||
| ||||||||