类似基于投票的热门计数算法普遍应用在热门文章,热门评论等场景中,

典型的比如网易和今日头条的评论区,国外比如Hacker News和Reddit的主题排序。

 

一.Hacker News的排序算法

Hacker News是一个主题社区,用户可以为主题投票,根据得票数,系统自动统计出热门文章排行榜。

同时主题发表时间也会对排名产生影响,新发表的主题比旧的主题更容易得到好的排名。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

Hacker News的排名算法是这样实现的:

 

(p – 1) / (t + 2)^G

其中,

  P表示帖子的得票数,减去1是为了忽略发帖人的投票。

  T表示距离发帖的时间(单位为小时),加上2是为了防止最新的帖子导致分母过小(之所以选择2,可能是因为从原始文章出现在其他网站,到转贴至Hacker News,平均需要两个小时)。

  G表示"重力因子"(gravityth power),即将帖子排名往下拉的力量,默认值为1.8。

 

从这个公式来看,决定帖子排名有三个因素:

第一个因素是得票数P。

在其他条件不变的情况下,得票越多,排名越高。

 

第二个因素是距离发帖的时间T。

在其他条件不变的情况下,越是新发表的帖子,排名越高。或者说,一个帖子的排名,会随着时间不断下降。

 

第三个因素是因子G。

它的数值大小决定了排名随时间下降的速度。

G值越大,排名下降得越快,意味着排行榜的更新速度越快。

 

二.Reddit的排序算法

Reddit 是Digg类型网站,国内类似的社区有花瓣网等。

和Hacker News不同,和Reddit允许用户投反对票,

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

算法如下图:

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

 

1.文章提交时间对排名的影响 

文章提交时间对排名的影响可以总结为以下几点:

提交时间对排名影响巨大,越新的文章排名会越高

网友评论