Size: a a a

2021 June 27

ГР

Геннадий Романов... in pro.algorithms
у нас будет граф из набора графов?
источник

ГР

Геннадий Романов... in pro.algorithms
типо граф из n (пользователей) графов по m (email у каждого) элементов
которые мы потом пытаемся связать
источник

С

Степан in pro.algorithms
Нет. Сейчас нарисую, секунду.
источник

KV

Kirill Vasin in pro.algorithms
а как в ответе должны быть представлены пользователи с пересекающимся имэйлом? "user1,user2"?
источник

ГР

Геннадий Романов... in pro.algorithms
user1 -> 1@1.ru, 2@2.com
user2 -> 1@1.ru, 3@3.com
на выходе
user1 (или юзер 2) как угодно = 1@1.ru, 2@2.com, 3@3.com
источник

С

Степан in pro.algorithms
Вот адреса трёх первых пользователей из вашего примера. (для простоты будем считать, что четвертого и пятого пока нет)
источник

ГР

Геннадий Романов... in pro.algorithms
да
источник

С

Степан in pro.algorithms
1. Соединяем между собой почты первого юзера.
источник

SM

Sherali Mirzoavliyoe... in pro.algorithms
DSU
источник

С

Степан in pro.algorithms
2. Теперь соединяем между собой почты второго юзера.
источник

С

Степан in pro.algorithms
3. И третьего.
источник

С

Степан in pro.algorithms
У нас получилось две компоненты связности. Каждая из них содержит все емейлы нового, слитого юзера. Готово.
источник

ГР

Геннадий Романов... in pro.algorithms
так
источник

ГР

Геннадий Романов... in pro.algorithms
да
источник

С

Степан in pro.algorithms
Это всё, задача решена, просто выведите каждую компоненту связности :)
источник

ГР

Геннадий Романов... in pro.algorithms
это ещё ничего не решает.
источник

С

Степан in pro.algorithms
Как это? Мы же объединили пользователей в слитых, как вы хотели. Имена исходных пользователей можно восстановить через обратный индекс любого емейла в каждой компоненте.
источник

ГР

Геннадий Романов... in pro.algorithms
вот у меня есть n графов по m элементов, как вывести эту компоненту связности
и какова сложность алгоритма
источник

С

Степан in pro.algorithms
У вас на старте один граф и в конце один граф. Почитайте, что такое компоненты связности: https://brestprog.by/topics/connectivity/

И создание нашего графа, и поиск компонент связности - линейные задачи. O(n + m).
источник

N

Nikolay in pro.algorithms
Эту задачу ещё можно решить через disjoinset.
источник