Я бы хотел получить помощь в построении алгоритма сортировки по типу «нравится / не нравится», чтобы найти лучшие записи.Я думал о том, как это сделать, но есть два основных недостатка этого метода, и я хотел бы знать, есть ли лучший способ.
Вот как я думал об этом:
Записи будут отсортированы по соотношению, указанному l/d
, где l = number of likes
и d = number of dislikes
, так что те, у кого более высокий коэффициент, имеют большее количество лайков и заслуживают более высокого места, чем те, у которых низкий коэффициент.
У этого метода есть две проблемы:
1: , если количество дислайков равно 0, l/d
будет невозможным.Таким образом, даже если запись имеет тысячу лайков и 0 антипатий, она все равно не попадет в табло.
2: записи с небольшим количеством лайков и дислайков находятся наПреимущество по сравнению с теми, у кого много рейтингов, так как требуется небольшое количество оценок, чтобы повлиять на соотношение и дать хорошую оценку записи.
Что вы думаете?
РЕДАКТИРОВАТЬ: Вот возможная альтернатива, которая исправляет первую проблему: (l + 1) / (d + 1)
.Есть ли какие-либо отзывы по этому поводу?