洗牌(shuffle)問題詳解

打撲克牌,打麻將的時候,都會有洗牌這個動做。洗牌問題其實很簡單,若是有一個數組中有n個元素,怎樣設計一個洗牌(shuffle)算法保證隨機性。java 最簡單的思路天然是新建一個新數組,每次從原數組中剩下的元素隨機挑選一個放入新數組,知道原數組爲空。git 考慮一下這種方式的隨機性。一個元素shuffle之後位於第一個位置的機率爲 1n ,即第一次被抽中。 出如今第二個位置的機率爲: github
相關文章
相關標籤/搜索