• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kenneth
V2EX  ›  程序员

如何为极客新闻类网站设计一个牛逼的排序算法?

  •  
  •   kenneth · Aug 8, 2013 · 4662 views
    This topic created in 4685 days ago, the information mentioned may be changed or developed.
    几种可能用到的值
    评论数,回复数
    顶,踩
    5星评分

    大家来和我说一个牛逼的排序方法,适合digg类新闻的排序用,要和用户的评论数据能互动

    代码实现上要求,实时能变化。

    高手指导来下思路。
    10 replies    1970-01-01 08:00:00 +08:00
    felix021
        1
    felix021  
       Aug 8, 2013
    这个是产品的工作,不是程序员的工作……主要还是要从产品运营的角度上来考虑,各个方面(时间、回复、评分)的权重应该怎样分配,然后根据这个来更新帖子的排序值——只要有了值,排序的实现什么的都是小事情。
    kenneth
        2
    kenneth  
    OP
       Aug 8, 2013
    @felix021 一个好的排序算法还是很重要的。可以得到某一个时间段里最热的帖子,还要好看。
    pubby
        3
    pubby  
       Aug 8, 2013
    找个曲线,再慢慢调参数

    digg类的还要跟时间相关的

    比如参考这个,自己慢慢调:http://www.ruanyifeng.com/blog/2012/02/ranking_algorithm_hacker_news.html
    Mutoo
        4
    Mutoo  
       Aug 8, 2013
    chmlai
        5
    chmlai  
       Aug 8, 2013
    @Mutoo 正想说阮一峰的博客.
    jjplay
        6
    jjplay  
       Aug 8, 2013
    计算单一用户停留时间 滚动时间 digg ,然后综合 平均 。。。我是随便说说
    felix021
        7
    felix021  
       Aug 8, 2013
    @kenneth 你没看懂我的意思。我的意思是,怎么定策略是难的,这个取决于你的产品的特征(比如论坛类的,最后回复时间的权值是100%,博客类的产品发布时间的权值是100%)。同样是digg类的产品,也可以为不同的参数赋不同的权值,实现不同的侧重点。一旦确认了这个策略,具体的代码实现总是很简单的。
    halfzeng
        8
    halfzeng  
       Aug 8, 2013
    stackpop
        9
    stackpop  
       Aug 8, 2013
    排序算法用堆排序就行了,评分变化的时候实时调整堆,每次代价是logN。

    至于评分如何动态变化,这个看产品怎么考虑啊,比如,多一条评论和点赞+10分
    stackpop
        10
    stackpop  
       Aug 8, 2013
    另外堆也是非常适合插入的,插入一条新闻进入原来的topN堆就行了,代价很小
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2779 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 02:43 · PVG 10:43 · LAX 19:43 · JFK 22:43
    ♥ Do have faith in what you're doing.