假设我有一个有序的频率列表,例如[1, 1, 2]
。我希望能够从这个列表中快速采样,并选择一个与其值成比例的选项。
The Alias method让我们使用O(n)构造时间和O(1)查询时间进行此采样。我对此问题的版本感兴趣,我们也支持此列表的更新或插入。
以下是一些想法:
有没有更快的解决方案?
答案 0 :(得分:1)
论文"Dynamic Generation of Discrete Random Variates" by Matias, Vitter, and Ni描述了如何在不断预期的更新和查询时间内这样做。这些技术一点都不重要!