洗牌(shuffle)问题详解

打扑克牌,打麻将的时候,都会有洗牌这个动做。洗牌问题其实很简单,若是有一个数组中有n个元素,怎样设计一个洗牌(shuffle)算法保证随机性。java 最简单的思路天然是新建一个新数组,每次从原数组中剩下的元素随机挑选一个放入新数组,知道原数组为空。git 考虑一下这种方式的随机性。一个元素shuffle之后位于第一个位置的几率为 1n ,即第一次被抽中。 出如今第二个位置的几率为: github
相关文章
相关标签/搜索