Мені цікаво, чи існує спосіб збереження хеша з безлічі цілих чисел, який має такі властивості, в ідеалі:
- Він використовує простір O (1)
- Його можна оновити, щоб відобразити вставку або видалення за час (O)
- Дві однакові колекції (тобто колекції, що мають однакові елементи з однаковими множинами) завжди повинні мати хеш-одиницю з одним і тим самим значенням, а дві окремі колекції повинні бути хеш-різними значеннями з високою ймовірністю (тобто функція є незалежною або попарно незалежною)
Початковою спробою цього було б збереження модуля виробу у випадковому простому хеші окремих елементів. Це задовольняє 1 і 2, але незрозуміло, чи задовольнило б це чи близька варіація.
Я спочатку розмістив це на StackOverflow .
* Властивості 1 і 2 можна трохи розслабити до, скажімо, O (log n) або невеликого підлінійного многочлена. Сенс полягає в тому, щоб ми могли ідентифікувати багато множин і надійно перевірити рівність, не зберігаючи самі елементи.