Минимальная идеальная хеш-функция

У меня много целых чисел в диапазоне [0; 2 ^ 63-1]. Однако есть только 10 ^ 8 целых чисел. Нет дубликатов . Полный список известен во время компиляции, но это просто уникальные случайные числа . Эти числа никогда не меняются .
Чтобы сохранить одно целое число явно , требуется 8 байтов, и есть связанные 1-байтовые значения, поэтому для явного сохранения требуется около 860 МБ.
Итак, я хочу найти минимальную идеальную хеш-функцию для сопоставления каждого из 10 ^ 8 целых чисел от [0; 2 ^ 63-1] до [0; 10 ^ 8-1]. Мне нужно найти эту функцию только один раз, данные никогда не меняются, а функция может быть сложной. Но он должен быть минимальным, идеальным, а расчет должен быть быстрым. Как я могу сделать это лучше? Может быть, удастся найти и использовать какие-то подпоследовательности, если они возникнут?
Спасибо.

13
задан tin_coder 19 July 2011 в 06:55
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: