Хеш-функция для целочисленной последовательности - PullRequest
1 голос
/ 23 марта 2011

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

ОБНОВЛЕНИЕ: ПОРЯДОК ИНТЕГРОВ В РАЗРЕШЕНИИ - КЛЮЧЕВОЙ КРИТЕРИЙ!Все перестановки состоят из одинаковых чисел

1 Ответ

1 голос
/ 23 марта 2011

Решение состоит в том, чтобы разделить целые числа на группы и рассматривать каждую группу как строку через объединение целых чисел. После этого можно применить хеш-функцию (см. Java String.hashCode () для алгоритма) для каждой группы. Наконец, можно добавить номера результатов. Последнее действие может привести к столкновениям, так что это место, где требуется лучшая идея:)

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