Параллельное разбиение помеченного множества - PullRequest
0 голосов
/ 16 января 2019

У меня есть помеченное множество A, т. Е. Каждому элементу a в A присвоено некоторое значение v (a). Я хочу создать вектор наборов (возможно, сохраненный в векторах), где каждый набор содержит все элементы a из A, имеющие одинаковое значение v (a).

Пример:

A = {1,2,3,4,5,6}, v (1) = 1, v (2) = 3, v (3) = 1, v (4) = 2, v (5) ) = 3, v (6) = 2. В этом случае я хочу получить следующую коллекцию: {{1,3}, {4,6}, {2,5}}.

Я хочу сделать это параллельно (общая память, несколько процессоров). Я думал об этом некоторое время, но любая идея заканчивалась линейной (последовательной) обработкой всех значений (то есть моя сложность была O (n), где n - размер A).

Может ли кто-нибудь помочь мне с этой проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...