Теория многоуровневой реферальной системы(что-то вроде сетевого маркетинга наверное)

daniyorik

Новичок
В общем в теории, как вы думаете, как реализовать многоуровневую реферальную систему, а должна она работать так
Пользователи приглашают друг друга, пользователи верхнего уровня могут смотреть, у пользователей которых он пригласил, тех пользователей которых тот пригласил и далее вниз по лестнице, но пользователь нижнего уровня не может смотреть пригласивших пользователей уровнем выше
то есть как то так
(см. во вложении)
 

Вложения

AmdY

Пью пиво
Команда форума
Зачем эти лишние действия, если есть простое правило - вассал моего вассала не мой вассал. Ты можешь видеть только своих рефералов. Не будет и желания аннексировать чужих реффералов чтобы увеличить процент.
 

AmdY

Пью пиво
Команда форума
ты задолёшься такое дерево пересчитывать при вставке в NS
 

daniyorik

Новичок
сложность в том что дерево растет, я предложил вариант, такой как описан AmdY,
данные тянутся с БД и я думал может какое то поле приставить или что?
 

daniyorik

Новичок
чтобы сразу пользователь который зарегистрировался, попадал на определенный уровень это системы
 

AnrDaemon

Продвинутый новичок
вопрос в том как реализовать такую систему на сайте, автоматизировать ее
Для этого надо написать код… не вижу проблемы. Честно.

В чём я вижу проблему, так это в том, на что тут уже указали - я не вижу реальной необходимости в такой структуре.
 

Redjik

Джедай-мастер
ты задолёшься такое дерево пересчитывать при вставке в NS
Процедура добавления объекта в бинарное дерево имеет среднюю алгоритмическую сложность порядка O(log(n)). Соответственно, для n объектов сложность будет составлять O(n log(n)), что относит сортировку с помощью двоичного дерева к группе «быстрых сортировок». Однако, сложность добавления объекта в разбалансированное дерево может достигать O(n), что может привести к общей сложности порядка O(n²).
https://ru.wikipedia.org/wiki/Сортировка_с_помощью_двоичного_дерева

К сожалению не нашел таблиц сравнения сходу, по памяти скажу, что вставка в b-tree занимает от logn до n, так что фигня там на вставке будет
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
для оптимизации есть разреженное дерево
 

AmdY

Пью пиво
Команда форума
https://ru.wikipedia.org/wiki/Сортировка_с_помощью_двоичного_дерева

К сожалению не нашел таблиц сравнения сходу, по памяти скажу, что вставка в b-tree занимает от logn до n, так что фигня там на вставке будет
так это дохрена в сравнении с одной записью при списке смежностей, который в кейсе с рефералкой подходит идеально.
 

daniyorik

Новичок
Всем спасибо большое за ответы, в общем понял будем делать)
 
Сверху