带替换和不带替换的加权随机选择
为了应对编程挑战,我们寻求从列表中进行加权随机选择的有效算法,有替换和无替换。
带替换的加权选择
带替换的加权选择的一种有效方法是别名方法。该技术为每个加权元素创建一组相同大小的箱。通过利用位操作,我们可以有效地索引这些容器,而无需诉诸二分搜索。每个 bin 存储一个百分比,表示原始加权元素之间的边界。
考虑具有相等权重的五个元素的示例:(a, b, c, d, e)。
别名方法实现
重复以下步骤,直到分配所有权重:
对于我们的示例,经过几次迭代后,我们有以下分区:
运行时选择
加权选择而不替换
而算法就像加权水库方法存在用于无替换的非加权选择一样,这个问题仍然没有解决。
以上是如何进行有替换和无替换的有效加权随机选择?的详细内容。更多信息请关注PHP中文网其他相关文章!