Home  >  Article  >  Backend Development  >  求算法实现

求算法实现

WBOY
WBOYOriginal
2016-06-23 14:13:41875browse

算法 php

需求:跟据某人的个人喜好对某一类图书实现排序。   

回复讨论(解决方案)

不明

只要记录有人的个人喜好,排序时先将符合喜好的排在前边不就可以了吗?

情况是这样的:
假设有一万本关于php的书籍。我读过并且给其中的10多本打过分。可以给我读过的10多本进行排序,因为正像阁下说的不是已经打分了嘛。其他的书我也想读。剩下的9千多本,怎么排序怎么选出适合我的呢?

不明

只要记录有人的个人喜好,排序时先将符合喜好的排在前边不就可以了吗?

情况是这样的:
假设有一万本关于php的书籍。我读过并且给其中的10多本打过分。可以给我读过的10多本进行排序,因为正像阁下说的不是已经打分了嘛。其他的书我也想读。剩下的9千多本,怎么排序怎么选出适合我的呢?

怎么选出适合我的呢?
既然你以对已读书籍打了分,那么可对已打的分按书籍类别进行分组求和、排序
得到的分类次序就可做为你的喜好程度

怎么选出适合我的呢?
既然你以对已读书籍打了分,那么可对已打的分按书籍类别进行分组求和、排序
得到的分类次序就可做为你的喜好程度

可能是我描述的不够贴切,我希望的效果并不是对书的类别进行喜好程度排序。假设我喜欢小说胜过专业书籍,现实情况不可能是任何一本小说的排名都高于任何一本专业书籍吧。

我换个方式描述下需求:书库里面有很多我没有读过的书,我希望通过某种方法推算出假设的排序结果---假设我读过所有的书(当然对这些书也打了分)。这样我就可以根据排序结果去选择对我来说可能更好的书。

我有一个设想,但是不知道合理不合理、怎么去实现。 要是能找到“不同”的我(假想的跟我的爱好、品味、水平等等都一样的人,简而言之就是我俩对任何一本书的打分都一样),足够多的“不同”的我读过的书
应该能够囊括所有的书籍。也就是说相当于我读过所有的书籍并且都已评分,那么对评分排序就可以得到想要的结果。
当然这对于不限制书的范围的情况有点儿理想化,因为可能找不到足够多“不同”的我。打个比方:想要找到跟我在篮球、足球、橄榄球....喜好方面一样的人(对这些球队喜好程度的排序一样的人)可能很难,要是想找到跟我在篮球喜好方面一样的人就容易可行得多。所以推算假设的排序之前必定要对书籍的范围做限制。

但是这个设想靠谱吗怎么实现呢?或者谁能提供其他的符合需求的设想和实现呢?   

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn