Идеально хэш-функция для набора целых чисел без обновлений

В одном из приложений, над которыми я работаю, необходимо иметь такую ​​функцию:

bool IsInList(int iTest)
{
   //Return if iTest appears in a set of numbers.
}

Список номеров известен при загрузке приложения (но не всегда то же самое между двумя экземплярами одного и того же приложения) и не будет изменяться (или добавляться) на протяжении всей программы. Сами целые числа могут быть большими и иметь большой диапазон, поэтому иметь вектор неэффективно. Производительность - это проблема, поскольку функция находится в горячей точке. Я слышал о Совершенном хешировании , но не смог найти ни одного хорошего совета. Любые указатели были бы полезны. Спасибо.

ps Я бы в идеале хотел, чтобы решение не было сторонней библиотекой, потому что я не могу использовать их здесь. Что-то достаточно простое, чтобы его можно было понять и реализовать вручную, было бы здорово, если бы это было возможно.

5
задан nakiya 19 November 2010 в 13:26
поделиться