У меня есть большой набор множеств, например. {{2,4,5} , {4,5}, ...}.
Учитывая одно из этих подмножеств, я хотел бы повторить все остальные подмножества, которые являются строгими подмножествами этого подмножества. То есть, если меня интересует набор A
, например. {2,4,5}
, я хочу найти все наборы B
, где относительное дополнение B / A = {},
пустое множество. Некоторые возможности могут быть {2,4}
, {2,5}
, но не {2,3}
Я мог бы, конечно, искать линейно и проверять каждый раз, но я ищу эффективную структуру данных как для большего набора, так и для подмножества (если это имеет значение). Количество подмножеств обычно составляет 10 тысяч, но если это имеет значение, меня будут интересовать случаи, когда это может быть в сотнях миллионов. Размер подмножеств обычно составляет 10 с.
Я программирую на С++
Спасибо