Data Structure / Hash Function to link Sets of Ints to Value
Posted
by
Gaminic
on Stack Overflow
See other posts from Stack Overflow
or by Gaminic
Published on 2012-11-07T16:06:32Z
Indexed on
2012/11/07
17:00 UTC
Read the original article
Hit count: 159
Given n integer id's, I wish to link all possible sets of up to k id's to a constant value. What I'm looking for is a way to translate sets (e.g. {1, 5}, {1, 3, 5} and {1, 2, 3, 4, 5, 6, 7}) to unique values.
Guarantees:
- n < 100 and k < 10 (again: set sizes will range in [1, k]).
- The order of id's doesn't matter: {1, 5} == {5, 1}.
- All combinations are possible, but some may be excluded.
- All sets and values are constant and made only once. No deletes or inserts, no value updates.
- Once generated, the only operations taking place will be look-ups.
- Look-ups will be frequent and one-directional (given set, look up value).
- There is no need to sort (or otherwise organize) the values.
Additionally, it would be nice (but not obligatory) if "neighboring" sets (drop one id, add one id, swap one id, etc) are easy to reach, as well as "all sets that include at least this set".
Any ideas?
© Stack Overflow or respective owner