2012-11-05 62 views
0

我正在使用PHP開發算法。我有一百萬個帖子。每篇文章都有很多評論,喜歡和觀點。評級職位的實現算法

例如:有3個帖子。

  • 張貼1名評價爲3000(I有一個固定式使用評論,頂和視圖來計算該結果)
  • 後2:2000
  • 後3:1000

,同時存儲這些帖子我節省了時間使用時間();也被稱爲Unix時間戳

  • 張貼1時間:1352099640(評級是3000)
  • 後2時間:1352099660(評級是2000)
  • 後3時間:1352099680(評級是1000)

我有以下條件顯示帖子;

  1. 顯示後誰擁有很高的收視率
  2. 如果該信息變得比其他職位的年齡較大,但具有很高的收視率比其他人。在最短時間內排名高的職位以下顯示此類帖子。

我在考慮兩件事。

  1. 高評級後的
  2. 時間後的。

如果帖子在最短時間內有高利率,那麼它將在網站上發佈第一篇文章。如果Post在最大時間內的費率很高,那麼它將是第二篇文章..我如何寫下條件

如何在PHP中編寫這些條件?

+2

[這是一種方法](http://news.ycombinator.com/item?id=231209)。基本上有無限的可能性 - 取決於你希望最終的排名如何表現(時間是多麼重要,應該隨着時間的推移線性衰減?...) – amit

+0

澄清,你的算法是設計和實現的,只是尋找建議來顯示你的帖子? – halfer

+0

@SSK做這些評估考慮到時間,或者你是否想要提出一個考慮了評級和時間的系統,然後決定顯示帖子的順序? – Celeritas

回答

0

我認爲這不是一個編程問題,因爲它是一個設計問題。如果意圖是評分越高,則帖子顯示的越高,然後檢查排序評級並下降列表,首先將帖子的最高評分放在頂部。如果這不是你想要的,那麼這更不是一個明確的算法問題。

+0

我正在考慮兩件事。 1)郵政的高評級2)郵政的時間。如果帖子在最短時間內有高利率,那麼它將在網站上發佈第一條消息。如果郵政在最大時間內有高利率,那麼它將是第二篇文章..我如何寫下條件:) – SSK

+0

所以只是爲了澄清你只關心顯示的前兩個帖子? – Celeritas

+1

我認爲你需要拿出一個需要評分和時間的公式,並給你一個顯示帖子的命令。例如,order = ranking/time,所以更高的順序越接近顯示的頂端,那是你想要的嗎? – Celeritas