Быстро увидеть, если набор A подмножество набора B? (генеральный) - PullRequest
0 голосов
/ 28 февраля 2012

Полагаю, это скорее математический вопрос, так как я думаю, что решение, если таковое имеется, может иметь какое-то отношение к простым числам.Никакой конкретный язык программирования не задействован (ну, да, транзакционный SQL, но INTERCEPT и EXCEPT слишком тяжел для меня)уникальный, но каждый с одинаковым фиксированным размером, скажем, 4. Например,

{345, 34565, 7686, 234}
(I have millions of this type)

Тогда у меня есть один набор (может быть, больше, но давайте сделаем это с одним), но с фиксированным размером на 1 больше, чем первыйтип (= 5 в этом случае).Например,

{345, 34565, 7686, 4355, 234}
or {67456, 234, 56, 453, 657}

Кстати, все потенциальные элементы в реальности - это числа от 1 до 1000, если это имеет значение.Я хочу, чтобы способ быстро увидеть, является ли набор из 4 элементов подмножеством из набора из 5 элементов, ничего больше.

Я думаю, что может быть способ генерировать целое (или двоичное) из каждого 4набор элементов, например:

2342342
3445455
etc.

Затем я бы также сгенерировал целое число из набора из 5 элементов и каким-то образом вычислил бы целые числа из 4 наборов элементов с другим целым числом для сравнения наборов.Конечно, мне пришлось бы сравнивать каждое целое число из 4 наборов с моим целым числом из 5 наборов, но я не хочу сравнивать каждый элемент набора, поэтому об этом методе я думаю.Можно ли это сделать?Может быть, с простыми числами?

...