我正在尝试为我正在开发的应用程序开发评级系统。基本上,应用程序允许您从 1 到 5(以星表示)对对象进行评分。但我当然知道,保持评分计数并将评分添加到数字本身是不可行的。
所以我想到的第一件事就是将收到的评分除以给出的总评分。例如,如果对象已从用户那里获得评分 2,并且该对象被评分的次数为 100,则可能会添加 2/100。但是我认为这种方法还不够好,因为 1) 一种天真的方法 2) 为了让我获得该对象被评级的次数,我必须在 db 上进行查找,这可能最终具有时间复杂度 O( n)
所以我想知道有什么替代方法和可能更好的方法来解决这个问题?