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: 135

Filed under:
|
|

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

Related posts about data-structures

Related posts about hash