持续监控和更新项目的受欢迎程度

时间:2015-09-09 13:07:59

标签: algorithm e-commerce recommendation-engine

假设我们有1000个项目和一个地方,一次向访问用户显示这些项目中的任何一个。我们可以捕获点击率和一起显示的项目。

  1. 我们如何以最佳方式获取最受欢迎的项目(例如10)?
  2. 我们如何不断更新热门程度并展示最佳10项?
  3. 编辑:我正在寻找不同的方法,而不是实现。

1 个答案:

答案 0 :(得分:0)

自我实施:

按流行维护有序数组和包含对流行度二叉树中相应项的引用的哈希表。 所以,最后10个是最受欢迎的项目,访问它们将是O(M),其中M是要显示的项目数。

维护有序数组:

可以使用具有log(N)复杂度的自平衡二叉树来维护它,其中N是元素的总数

http://www.sitepoint.com/data-structures-2/

作为实用选项:

数据库可用于存储项目,B-tree索引可添加到人气列; DBMS将需要在此进行优化 https://en.wikipedia.org/wiki/Database_index