Область интересов - соответствие строк. Предположим, у меня есть такая структура.Как бы вы хотели спроектировать функцию для идеального хэша?
typedef struct
{
char *name,
int (*function)();
} StringArray
StringArray s[] =
{
{"George", func1},
{"Paul", func2},
{"Ringo", func3},
{"John", func4},
{"", NULL} /* End of list */
}
В массиве имеется фиксированное количество строк. Они жестко закодированы, как в примере. Если таблица изменится, возникнет необходимость переоценить качество хэш-функции.
Я хочу применить хеш-функцию к строке, и если строка соответствует одному в массиве, то затем вызовите функцию. Для этого нужна идеальная хеш-функция. Никаких коллизий не допускается. Целью хэширования является получение производительности O (1) при поиске.
Какие у вас идеи по созданию функции для этого?
Я не думаю, что спам означает, что вы думаете, что значит –
@Mitch: Вы имеете в виду, что это вопрос, который может быть легко гугле для? –
@ j_random_hacker: Я сделал. Но уже поздно, и это не спам ... –