Эффективное пересечение множеств - решите, больше ли пересечение k
Я столкнулся с проблемой, когда мне нужно вычислить пересечения между всеми парами в наборе наборов. Ни один из наборов не меньше небольшой константы k , и меня интересует только, имеют ли два набора пересечение больше, чем k -1 элементов, или нет. Мне не нужны ни фактические пересечения, ни точный размер, только , больше, чем k -1, или нет. Есть ли какой-нибудь хитрый трюк с предварительной обработкой или аккуратный алгоритм пересечения множеств, который я мог бы использовать для ускорения?
Дополнительная информация, которая может быть полезна для ответа на вопрос:
Множества представляют собой максимальные клики в большом, неориентированном , разреженный граф. Количество наборов может быть порядка десятков тысяч или более, но большинство наборов, вероятно, будут небольшими.
Наборы уже отсортированы элементы каждого набора находятся в порядке возрастания. Фактически они представляют собой отсортированные списки - я получаю их таким образом из базовой библиотеки для поиска по максимальным кликам.
Ничего не известно о распределении элементов в наборах (т.е. находятся ли они в тесных группах или нет).
Большинство из установленных пересечений скорее всего будут пустыми,
Существуют ли какие-либо продукты, которые добавляют файловую систему в Windows?
Мне любопытны две вещи,
Какой ближайший эквивалент / proc, который поставляется с Windows
Есть ли продукты, которые добавляют proc как файловая система в Windows?