В настоящее время я реализую HashTable в C ++, используя универсальное хеширование (матричное хеширование). Я реализую матрицу путем создания массива указателей (которые являются просто случайными битами, они не «работают» как указатели, а как 32-битная матрица). Чтобы хешировать ключ, я умножаю ключ указателя на матрицу (используя битовые операции), что составляет 32-битный столбец (наш хешированный ключ). Это поднимает большой вопрос:
Можно ли использовать класс (точнее, строку C ++) для заполнения случайными битами и выполнения битовых операций? Мне все равно, если данные в строке чистый мусор, я просто использую его для хеширования. Или, в качестве альтернативы, как я могу сделать 32-байтовый тип и привести строку в один?
Задача ещё не решена.
Других решений пока нет …