У меня есть помеченное множество 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).
Может ли кто-нибудь помочь мне с этой проблемой?