Size: a a a

2021 June 27

MK

Matwey Kornilov in pro.algorithms
источник

K

Kelbon in pro.algorithms
а про геометрические индексы и окто деревья где узнать
источник

K

Kelbon in pro.algorithms
?)
источник

K

Kelbon in pro.algorithms
я думаю сейчас самостоятельно написать просто такой хеш попробовать, впринципе должно быть легко
источник

K

Kelbon in pro.algorithms
только ещё нужно мапу, придётся свой аллокатор писать т.к. это происходит очень часто в теории(пересчитывание столкновений для разных объектов)
источник

@N

@urandon Nikita Khom... in pro.algorithms
есть же замечательные поисковики: Google, yandex
источник

@N

@urandon Nikita Khom... in pro.algorithms
Есть много замечательного материала с картинками и подробным объяснением
источник

PO

PROLOG ONE LOVE in pro.algorithms
А если не помогают собственно поисковики всегда есть всякие гугл сколары
источник

ГР

Геннадий Романов... in pro.algorithms
Имеется n пользователей, каждому из них соответствует список email-ов (всего у всех пользователей m email-ов).
Например:
user1 -> xxx@ya.ru, foo@gmail.com, lol@mail.ru
user2 -> foo@gmail.com, ups@pisem.net
user3 -> xyz@pisem.net, vasya@pupkin.com
user4 -> ups@pisem.net, aaa@bbb.ru
user5 -> xyz@pisem.net
Считается, что если у двух пользователей есть общий email, значит это один и тот же пользователь. Требуется построить
и реализовать линейный алгоритм, выполняющий слияние пользователей.

Как представить эту задачу в виде графа и реально ли она невыполнима?

Свисок вершин - это email-ы, ребра это связные email.
из построенного несвязанного графа можно выделить компоненту связаности которая и окажется тем слитым юзером.
Но что нам нужно найти и доказать?
источник

С

Степан in pro.algorithms
А какие данные нужны на выходе? Для каждого вывести список всех принадлежащих ему почт?
источник

ГР

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

MB

Mikail Bagishov in pro.algorithms
Звучит как система непересекающихся множеств
источник

С

Степан in pro.algorithms
+
источник

ГР

Геннадий Романов... in pro.algorithms
она через графы решается 99%
источник

ГР

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

С

Степан in pro.algorithms
Вершины - это емейлы
Для каждого пользователя соединяем емейлы между собой в цепочку
Получившиеся компоненты связности - это слитые пользователи
источник

MB

Mikail Bagishov in pro.algorithms
Ну, посмотрим на двудольный граф, в котором вершины левой доли это юзеры, а правой - емейлы.

Тогда тебе нужны компоненты связности.

Соответственно можно завести СНМ на одной из долей, например на юзерах. А потом для каждой почты смержить всех юзеров с такой почтой.
источник

ГР

Геннадий Романов... in pro.algorithms
в таком графе задача уже решена - все рёбра представлены всеми связями
нет разницы между ребрами связями изначальных данных и конечных
источник

С

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

ГР

Геннадий Романов... in pro.algorithms
типо разные рёбра
источник