1
给定项目x1 ... xn和相关概率p1 ... pn的列表,总计为1,有一个众所周知的过程,通过根据权重对列表进行排序来选择随机项目及其相关的可测性,选择一个随机1和0之间的值,并加起来,直到超过所选值并返回此时的项目。所以如果我们有x1-> 0.5,x2-> 0.3,x3-> 0.2,如果随机选择的值小于0.5,将选择0.5x1,如果在0.5和0.8之间,x2和x3。从偏好列表中选择项目?
这需要排序,所以它需要O(nlogn)时间。有没有比这更有效的东西?