Хеширование для разреженных битовых векторов - PullRequest
2 голосов
/ 15 марта 2009

Есть ли у кого-нибудь хорошая интуиция для хорошей хэш-функции для разреженного битового вектора? Чтобы привести конкретный пример, скажем, я хочу хэшировать 4096-битное целое число, где вероятность того, что каждый бит равен 1, равна 10%.

Я хочу получить сжатие в хэше. Например, 4096 битов и 32 битов. Это всего лишь пример, иллюстрирующий то, что я ищу. Конечно, все ответы очень ценятся.

Ответы [ 2 ]

3 голосов
/ 15 марта 2009

Помог бы фильтр Блума ?

Если битовый вектор равен 2 ^ 32 битам, то почему бы просто не использовать 32-битное целое число?

0 голосов
/ 07 апреля 2010

Я бы просто хешировал биты как обычно, позвонив

hash<vector<bool>>(...)

если вы используете C ++ 0x, или же смотрите boost :: hash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...