У меня есть вопрос об алгоритме, в котором я застрял.
Нам дана последовательность пользователей и набор атрибутов для каждого пользователя.Как только мы читаем пользователя, мы должны связать его с другим ранее прочитанным пользователем с идентичными атрибутами, который в настоящее время не связан, если такой пользователь существует.
Если пользователь не может быть связан, мы должны оставить этого пользователя внепарный набор.
ВОПРОСЫ:
- Как эффективно реализовать этот процесс сопоставления ...
- КакРеализуем ли мы это, если допустим также приблизительное совпадение атрибутов ...
Решение первого вопроса, которое я нашел, заключается в использовании структуры данных trie, в которой мы организуематрибуты каждого пользователя в отсортированном порядке и начинают вставлять атрибуты в дерево, а пользователь прикрепляется к листу.Если приходит новый пользователь, мы выполняем ту же процедуру, и если мы обнаружили, что предыдущий пользователь был прикреплен к листу, то мы нашли пару или вставили этого нового пользователя в лист.
Пожалуйста, предложите вашу идею илиЛюбая новая мысль об этом решении и любезно помочь мне в решении второго вопроса.Я совершенно невежествен во втором вопросе ..
Объяснение с некоторыми примерами кодов или пример будет полезно ..
Спасибо ...