加權隨機選擇:克服替換限制
最近,許多開發者都遇到了從清單中加權隨機選擇元素的挑戰,既有和沒有更換。雖然存在未加權選擇和無替換加權選擇的有效演算法,但事實證明,為具有替換的加權選擇找到合適的解決方案很困難。
一種實現高效和簡單的創新方法是別名方法。它的工作原理是為加權清單創建相同大小的箱。這些 bin 使用位元操作有效地索引,避免了耗時的二進位搜尋。
要形成別名查找表:
重複步驟 3 和 4,直到分配所有原始權重。
期間運行時:
此方法有效地處理加權隨機透過替換進行選擇,與基於儲存庫的方法相比,可顯著提高效能,尤其是在選擇清單的大部分時。
以上是加權隨機選擇和替換的合適方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!