Fisher-Yates 算法生成有限序列的无偏随机排列。运行时间与被洗牌的元素数量成正比。
我想用大量零元素来洗牌一些非零元素。
使用列表实现 Fisher-Yates 算法会导致洗牌过程花费太长时间并且需要太多存储空间。Fisher--Yates 算法中的大多数步骤将简单地切换重复零元素的位置。
是否存在随机洗牌(或替代)算法:
- 导致无偏排列
- 不需要洗牌和存储所有重复的元素
Fisher-Yates 算法生成有限序列的无偏随机排列。运行时间与被洗牌的元素数量成正比。
我想用大量零元素来洗牌一些非零元素。
使用列表实现 Fisher-Yates 算法会导致洗牌过程花费太长时间并且需要太多存储空间。Fisher--Yates 算法中的大多数步骤将简单地切换重复零元素的位置。
是否存在随机洗牌(或替代)算法: