- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
想象一下我想根据自己喜欢的程度订购的书籍 list 。我没有对单本书进行评分,而是从列表中的两本书(随机选择)中选择最好的,然后对任意多对书籍重复此操作(不对所有组合进行评分)。
如何根据这个二元选择对我的图书 list 进行排序?这个问题有正式名称吗?
最佳答案
作为Jonas Elfström指出,Fisher-Yates 是洗牌的规范方式,这可能是个好主意,因为它可以让您获取每个项目的数据。我认为您可能想要不止一次通过。本质上,您在对项目集合进行排序时正在做的是构建一个有向图,其中节点是项目,边表示关系大于或等于。当可以通过算法定义这种关系时,单次传递就足够了,您最终会得到一个有序的集合。
这里的复杂之处在于,非常可信的是,一次看两本书并让人类在没有明确定义的算法的情况下做出决定,最终会出现 A > B,B > C 和 C > A. 这显然不会产生有序的集合。更糟糕的是,在不同的两天,同一两本书可能会给出两个不同的答案。
我能想到的最好的方法是维护一个 n
x n
矩阵,其中 n
是要排序的项目的数量。 i, j
条目是该项目的次数i
被选为优于项目 j
.在这里,i
索引行和 j
索引列。
从这里开始,PageRank不幸的是,它已获得专利1,这将是理想的选择。不那么优雅,但可能足以总结 a
之间的差异。 <子> ij
和 a
ji
然后根据此对书籍进行排序。例如,对三本书进行排序
A B C
_ _ _
A|0 3 2
B|2 0 3
C|1 2 0
表示 A
被评为优于B
比C
好3倍2次。对行求和给出
A: (AB - BA) + (AC - CA) = (3 - 2) + (2 - 1) = 2
B: (BA - AB) + (BC - CB) = (2 - 3) + (3 - 2) = 0
C: (CA - AC) + (CB - BC) = (1 - 2) + (2 - 3) = -2
所以他们会排序为 A > B > C
.
如果您不打算使用网页排名,则可以通过为每本书关联一个初始化为 0 的整数来消除矩阵并获得相同的结果。当A
选择超过 B
, 递增与 A
关联的整数并减少与 B
关联的整数.
1 对不起,我的咆哮,但我知道你如何为本质上是数学结果的专利申请。
关于algorithm - 二元选择评级的排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4602097/
我正在使用 MySQL 和 PHP 为 Flash 游戏构建数据层。检索关卡列表非常简单,但我在尝试获取关卡的平均评分及其指针信息时遇到了障碍。这是一个示例数据集: 级别表: level_id | l
阅读 schema.org 之后我写了一个小的“丰富代码片段”或者它所谓的什么。我们今天被谷歌找到,但没有显示星级和评级。也许有人对此有经验并且知道事情是如何完成的?它仅取决于微数据还是取决于 中的
有没有一种方法(或 API)可以使远程 SMF 站点排队以获取特定时间范围内的热门/热门主题,比如过去 24 小时?如果没有,关于我如何跟踪它有什么建议吗? 最佳答案 不确定这是否可行,但我知道 SM
有谁知道如何使用 Foursquare API 获取 field 的分数/评级(例如 9.0/10)? 我正在通过无用户访问进行连接。 https://developer.foursquare.com
我正在使用 Sonar 来分析一组相关的项目。 我正在使用 SQALE 评级来证明重构的必要性 我的问题是 SQALE 到技术债务比率映射背后的逻辑是什么? 为什么 SQALE A 评级是技术债务,范
我有一份 FIFA 19 两名球员之间的比赛列表,我希望根据所参加的比赛使用该数据更新我在这两名球员之间的 ELO 评分。我正在尝试使用此数据不断更新最初从 1000 开始的 ELO 评级。 我尝
我无法显示评级元素。它根本就没有出现。所有其他事情都很好 我已经正确地链接了这些: 语义用户界面 CSS ( http://semantic-ui.com/dist/semantic.min.css
我正在开发一个 Java 应用程序,其中涉及使用 Foursquare 来搜索 field 。该应用程序预计也会对场馆进行评级。除了场馆的收视率之外,我已经做了所有我需要做的事情。我阅读了利用 fou
由于我公司的一位客户要求标记图像上的 alt 属性,我遇到了 google maps API 的问题。 我在谷歌官方文档中找不到任何内容(即:https://developers.google.com
有人可以给我一个 onRate() 的例子吗? Semantic UI 中评级小部件的回调函数 ( http://semantic-ui.com/modules/rating.html#/settin
我有四个主表- 1.user(user_id, name,...) 2. post(post_id, description, ...) 3.comment(comment_id,user_id,co
我已登录并获取身份验证 token ,但当我单击“赞”按钮时,YouTube 评级不起作用。我还需要做什么才能让它发挥作用?如果我在网络浏览器中使用该网址,它会要求授权并执行,然后它就可以工作。但从应
我正在使用我在网上找到的一些评级系统 CSS。目前我能够让它工作,但是当显示多个评级时会出现问题。 只有最后一个分级类有效。 .rate { float: left; pointer-even
我安装了一个应用程序 django- ratings。我想要syncdb,但这是我的错误: djangoratings.vote: 'user' defines a relation with the
每个人都喜欢在他们的网站上显示 Digg/Tweet/Like 徽章,而 Disqus Comment System开始接管。 (来源:disqus.com) (来源:digg.com) 从开发人员的
我有一个 Bootstrap Rating 组件,我必须使用 on-leave 方法来调用我的 javascript 函数。除了 IE 之外,所有其他浏览器也在单击事件上执行 on-leave 函数。
我正在用 Rating Bootstrap 做一个 MVC 应用程序。 我也定义了这个...为了知道点击了多少开始。 $(document).ready(function () {
我想按人口统计(性别、年龄组)收集 IMDb 评级详细信息。 当我尝试在 imdbpy 中使用 get_movie_vote_details 模块时,我的输出为空。这是我的代码: import im
我正在尝试使用 PHP 和 SoapClient 来利用 UPS Ratings 网络服务。我找到了一个名为 WSDLInterpreter 的好工具来创建用于创建服务请求的起点库,但无论我尝试什么,
我正在尝试向现有表格添加“评级”系统(即 1 星、2 星或差、一般、好、优秀等)。有谁知道在 .Net 或免费的第 3 方控件中通过良好的 UX 实现美观的方法? 谢谢 最佳答案 检查 ASP.NET
我是一名优秀的程序员,十分优秀!