带替换和不带替换的加权随机选择
为了应对编程挑战,我们寻求从列表中进行加权随机选择的有效算法,
带替换的加权选择
一种有效的方法带替换的加权选择是别名方法。该技术为每个加权元素创建一组相同大小的箱。通过利用位操作,我们可以有效地索引这些容器,而无需诉诸二分搜索。每个 bin 存储一个百分比,表示原始加权元素之间的边界。
考虑具有相等权重的五个元素的示例:(a, b, c, d, e)。
别名方法实现
重复以下步骤,直到分配完所有权重:
对于我们的示例,经过几次迭代后,我们有以下分区:
运行时选择
无替换的加权选择
虽然存在像加权水库方法这样的算法来实现无替换的非加权选择,但这个问题仍未解决。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3