加权随机选择:克服替换限制
最近,许多开发者都遇到了从列表中加权随机选择元素的挑战,既有和没有更换。虽然存在用于未加权选择和无替换加权选择的有效算法,但事实证明,为带替换的加权选择找到合适的解决方案很困难。
一种实现高效和简单的创新方法是别名方法。它的工作原理是为加权列表创建相同大小的箱。这些 bin 使用位操作有效地索引,避免了耗时的二进制搜索。
要形成别名查找表:
重复步骤 3 和 4,直到分配所有原始权重。
期间运行时:
此方法有效地处理加权随机通过替换进行选择,与基于存储库的方法相比,可显着提高性能,尤其是在选择列表的大部分时。
以上是加权随机选择和替换的合适方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!