我構建了一個網站,讓您免費添加Rails相關的寶石,並標記這些寶石。我想添加的下一個功能是寶石排名。我已經考慮過一些常見的系統,比如明星和投票,但是已經決定了一個簡單的系統不能很好地工作。一個排序寶石的好算法
這裏有一對夫婦的情況是我想要的排名算法,爲很好地工作:
- 有一個名爲GEM1一種流行的寶石,做XYZ。 GEM1已經發布了一年,在XYZ的寶石中排名最高。一款新的GEM2,也是XYZ,已經發布,顯然比GEM1更好。 GEM2應該能夠快速勝出GEM1。
- 有一個名爲GEM1的高級寶石。 Rails的新版本發佈,GEM1不適用於此版本。隨着時間的推移(可能與大多數人開始使用新的Rails版本所需的數量相同),GEM1仍然不支持此版本,它將失去其高排名。
一些信息,我們提供給我們的寶石是:
- 下載數量
- 號當前版本的
- 下載,如果創業板在GitHub上託管的,我們號碼的叉子和觀察者(儘管寶石不應該超過另一個寶石b/c它託管在github上)
這個信息可能是算法的一部分(a長久以來,我們需要從用戶那裏收集選票或明星或其他任何東西)。
所以我的問題是,你能想到一個好的算法(當然不是確切的,只是描述它),可以處理這些場景,或者至少能夠提供一些好的建議,或者指向正確的方向。
感謝您的意見。我同意下載的數量是一個不好的數據。 – Austin 2011-02-12 04:31:54