notjack
2019-10-15 06:56:26

Rebellion update: multidict and multiset performance has improved in various ways by precomputing things. The following operations are now all constant-time: - multiset-size - multiset-unique-elements - multiset-frequencies (returns hash from element to number of times it occurs in the multiset) - multidict-size - multidict-keys (returns multiset) - multidict-values (returns multiset) - multidict-unique-keys - multidict-unique-values - multidict-inverse (flips all key-value mappings in the multidict) Insertion and removal into both data structures remains an O(log n) operation.