Я создаю систему, в которой у каждого пользователя есть некоторые контакты (например, адресная книга, в основном адресная книга телефона). Например, .Сообщать об этом друзьям
Сказать пользователю A
в его контактах [X, Y, Z]
.
Пользователь B
имеет [M, N, O, X]
контакты и C
имеет [D, X, E, F]
контакты.
На данный момент A
, B
и C
уже зарегистрированы.
Теперь, когда пользователь X
регистрирует к моей системе, я хочу A
, B
и C
, чтобы получить уведомление.
Наивным подходом к этому было бы линейное перемещение списка друзей каждого пользователя и посмотреть, какой пользователь имеет X
в своем списке друзей. Но в больших масштабах этот подход окажется слишком дорогостоящим.
Так что мой вопрос, вы можете думать о эффективном способе, через который я могу знать A
, B
и C
имеют X
как контакт?
P.S. Все идентификаторы пользователя A
, B
, X
и т. Д. Являются номерами телефонов.
Как может A иметь X в качестве друга до регистрации X? – FlyingPiMonster
Прямо сейчас у вас есть карта от пользователя к контактам. Можете ли вы сделать обратную карту от контактов к пользователям? Это будет интенсивным с точки зрения памяти, но должно работать. – templatetypedef