Je suis curieux de savoir s'il existe un moyen de stocker un hachage d'un ensemble multiple d'entiers possédant les propriétés suivantes, idéalement:
- Il utilise O (1) espace
- Il peut être mis à jour pour refléter une insertion ou une suppression dans le temps O (1)
- Deux collections identiques (c.-à-d. Des collections contenant les mêmes éléments avec les mêmes multiplicités) doivent toujours avoir la même valeur et deux collections distinctes doivent avoir des valeurs différentes avec une probabilité élevée (c.-à-d. Que la fonction est indépendante ou indépendante par paire).
Une première tentative consisterait à stocker le produit modulo de manière aléatoire au sein des hachages des éléments individuels. Cela satisfait 1 et 2, mais il n'est pas clair si cela, ou une variante proche, satisferait 3.
J'ai initialement posté ceci sur StackOverflow .
* Les propriétés 1 et 2 pourraient être légèrement assouplies, par exemple, sur O (log n) ou sur un petit polynôme sous-linéaire. Le but est de voir si nous pouvons identifier plusieurs ensembles et tester de manière fiable l’égalité sans stocker les éléments eux-mêmes.