Поиск сущности по набору ключей
Добавлено: 29 июл 2009, 16:19
Добрый день.
имеется следующая задача:
есть сущность описываемая набором строковых ключей. данные ключи всегда характеризуют одну и ту же сущность независимо от порядка - то есть a1 b1 c1 = b1 c1 a1. Необходимо сделать оптимальный поиск.
Есть следующие идеи - упорядочивать ключи по алфавиту перед записью и поиском сущности. Минусы - не очень красиво и быстро.
- вычислять хэш коды для каждого ключа и на основе хэшей вычислять итоговое значение. Минусы - нужна быстрая хэш функция с небольшим количеством коллизий, нужна хитрая математическая операция чтобы результат не дал коллизий.
Возможно кто-то сможет помочь идеями для реализации второго подхода либо предложит еще идей.
Заранее спасибо.
имеется следующая задача:
есть сущность описываемая набором строковых ключей. данные ключи всегда характеризуют одну и ту же сущность независимо от порядка - то есть a1 b1 c1 = b1 c1 a1. Необходимо сделать оптимальный поиск.
Есть следующие идеи - упорядочивать ключи по алфавиту перед записью и поиском сущности. Минусы - не очень красиво и быстро.
- вычислять хэш коды для каждого ключа и на основе хэшей вычислять итоговое значение. Минусы - нужна быстрая хэш функция с небольшим количеством коллизий, нужна хитрая математическая операция чтобы результат не дал коллизий.
Возможно кто-то сможет помочь идеями для реализации второго подхода либо предложит еще идей.
Заранее спасибо.