小编Mik*_*ley的帖子

如何合并有序首选项的集合

我有一组评价一组n个对象的r评论者.每个评论者独立地生成他或她选择排名的对象的有序列表.目标是生成一个列表,该列表是各种有序列表的排序规则.我们可以假设每个评论者的观点具有相同的权重.

这与大多数合并和排序列表问题的不同之处在于没有全局排序.一个评论者可以评价A> B,而另一个评论者评价B> A.如上所述,每个评论者不一定评价每个对象.

我目前的想法是将每个评论者的列表分解为列表中每个m*(m-1)*.5个唯一条目对的一组有序元组,其中m是评级的对象数.现在从所有评论者那里获取所有元组.对于给定的组合(a,b)找到所有这样的元组并将多数投票(那些投票)作为a <b的确定者.

现在我有一组有序的元组代表了所有人的智慧.但是如何将这些变成一个有序列表呢?我可以从随机选择的一对对象开始,然后对它们进行排序,然后按正确的顺序添加另一个,但输出将取决于我选择从哪一个开始.也可能有循环.

我很欣赏任何想法.

algorithm merge

13
推荐指数
3
解决办法
7975
查看次数

如何在Scala中将类方法作为参数传递

假设我有一些C类方法

def class C {
  def f1():Int = ...
  def f2():Int = ...
}
Run Code Online (Sandbox Code Playgroud)

现在我想要一个带有两个C实例的方法,以及一个C方法,但我不知道f1,f2的类型是什么,也不知道如何调用它们.我觉得它看起来像

def cmp(first:C, second:C, t:() => Int): Boolean = {
  first.t < second.t
}
Run Code Online (Sandbox Code Playgroud)

这抱怨说t不是C的方法.当然必须有办法表达这一点.

scala

11
推荐指数
2
解决办法
5748
查看次数

标签 统计

algorithm ×1

merge ×1

scala ×1